Na aula anterior, aprendemos o que são classes em JavaScript e quando faz sentido usá-las.
Agora vamos entender melhor duas peças fundamentais de qualquer classe:
o constructor e os métodos.
🎯 Objetivo da aula
Ao final desta aula, você será capaz de:
- Entender o papel do
constructor - Criar e organizar métodos corretamente
- Diferenciar dados de comportamento
- Evitar erros comuns com
this - Escrever classes mais claras e legíveis
O que é o constructor?
O constructor é um método especial que:
- é executado automaticamente
- roda quando usamos
new - serve para inicializar o objeto
Ele define o estado inicial da instância.
Exemplo básico de constructor
class Produto { constructor(nome, preco) { this.nome = nome; this.preco = preco; } }
const produto = new Produto("Notebook", 3500);
console.log(produto.nome); // Saída será: Notebook
console.log(produto.preco); // Saída será: 3500
Aqui:
- o objeto nasce com
nomeepreco - o
constructordefine esse estado
O que são métodos?
Métodos são funções que:
- pertencem à classe
- operam sobre os dados da instância
- representam comportamento
Eles usam this para acessar o estado do objeto.
Adicionando métodos à classe
class Produto { constructor(nome, preco) { this.nome = nome; this.preco = preco; }
aplicarDesconto(percentual) {
this.preco = this.preco - (this.preco * percentual);
}
exibirPreco() {
console.log(Preço: R$ ${this.preco});
}
}
const produto = new Produto("Notebook", 3500);
produto.aplicarDesconto(0.1);
produto.exibirPreco(); // Saída será: Preço: R$ 3150
Estado vs comportamento
Uma boa classe separa claramente:
- Estado → propriedades (
this.nome,this.preco) - Comportamento → métodos (
aplicarDesconto,exibirPreco)
Isso torna o código:
- mais legível
- mais organizado
- mais fácil de manter
Cuidado com o this
Dentro de métodos de classe:
thisaponta para a instância- desde que o método seja chamado corretamente
this é um erro comum.
const exibir = produto.exibirPreco;
exibir(); // ❌ this indefinido (ou erro), pois não há uma instância associada à chamada O método perdeu o vínculo com a instância.
Solução comum: bind
const exibir = produto.exibirPreco.bind(produto);
exibir(); // ✅ funciona corretamente, pois forçamos o contexto de execução Mais adiante veremos alternativas melhores com arrow functions e campos de classe.
Métodos não são recriados a cada instância
Um ponto importante:
Isso significa:
- menos uso de memória
- melhor performance
Boas práticas iniciais
- Use o
constructorapenas para inicialização - Evite lógica pesada no constructor
- Mantenha métodos pequenos e claros
- Uma classe deve ter uma responsabilidade principal
Resumo da aula para nunca mais esquecer
constructorinicializa o estado- Métodos representam comportamento
thisaponta para a instância- Estado e comportamento devem ser claros
- Organização é mais importante que quantidade
Na próxima aula, vamos evoluir isso com Herança, entendendo quando reutilizar e quando evitar.
HARDWARE
Entendendo o seu computador
O que há dentro do meu computador?
Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.
Você Sabia?
Música tema do Blanka
Até a primeira metade dos anos 90 era bastante comum que as trilhas sonoras dos games fossem criadas por mulheres e a responsável pelas músicas do clássico Street Fighter 2 foi Yoko Shimomura. Segundo ela, o ritmo "Tararirarin" da música tema do personagem Blanka, do Brasil, veio à sua cabeça enquanto ela estava no trem a caminho da Capcom.
Mario e seu bigode
O personagem Mario só possui bigode porque quando ele foi criado, em 1981, a resolução de tela dos equipamentos disponíveis não permitia que fosse desenhada uma boca, então os desenvolvedores fizeram o grande bigode para contornar essa limitação tecnológica.
Final Fantasy X
O jogo Final Fantasy X para o Sony Playstation 2 vendeu, apenas no dia do seu lançamento, 1.455.732 cópias, estabelecendo um recorde de vendagem para as primeiras 24 horas de um game. Méritos da SquareSoft, que desenvolveu um excelente produto!
Asteroids
O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.
Ábaco
O ábaco é o dispositivo de cálculo mais antigo construído e conhecido pelo homem. Suas formas mais primitivas datam de 400 a.C. e eles foram encontrados na China e na Babilônia. Para saber mais sobre a história dos computadores, clique aqui.










