São uma forma de criar objetos e definir seu comportamento por meio de construtores e métodos. Elas foram introduzidas no ECMAScript 2015(ES6) para fornecer uma sintaxe mais amigável para a criação de objetos e herança de protótipo(syntax sugar).
Construtor é um método especial chamado quando um objeto é instanciado a partir da classe.
Métodos são funções associadas a objetos e descrevem o comportamento desses objetos.
Uma classe pode herdar propriedades e métodos de outra classe, permitindo a reutilização de código.
class Person {
constructor(name) {
console.log(`Olá ${name}`)
}
}
const person = new Person("DuH");
This significa que estamos nos referindo ao contexto em que estamos nos referindo (no caso referindo a class Product)
class Product {
constructor(name) {
this.name = name;
}
}
const product1 = new Product("Teclado")
console.log(product1.name)
const product2 = new Product("Mouse")
console.log(product2.name)
class User {
constructor(name, email) {
this.name = name
this.email = email
}
sendEmail(){
console.log("Email enviado para", this.name, "no endereço eletrônico", this.email)
}
}
const user = new User("DuH", "[email protected]")
user.sendEmail()
class User {
static showMessage(message) {
console.log(message)
}
}
User.showMessage("Essa é uma mensagem")