O que é classe?

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).

Construtores e Métodos

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.

image.png

Herança

Uma classe pode herdar propriedades e métodos de outra classe, permitindo a reutilização de código.

image.png

Criando uma classe com um método construtor

class Person {
  constructor(name) {
    console.log(`Olá ${name}`)
  }
}

const person = new Person("DuH");

Criando propriedades dentro das classes

This

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)

Adicionando métodos nas classes

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()

O que é método estático?

class User {
	static showMessage(message) {
		console.log(message)
	}
}

User.showMessage("Essa é uma mensagem")