Funções Construtoras: o 'molde' para criar vários objetos iguais
Aprenda a criar funções que servem como plantas para gerar múltiplos objetos com as mesmas características.
Até agora, você viu objetos literais, que são ótimos para casos simples.
Mas e quando você precisa criar vários objetos parecidos (vários alunos, produtos, usuários)?
É aí que entram as funções construtoras.
Pense assim:
- objeto literal = fazer um bolo manualmente, um por vez
- função construtora = criar uma forma (molde) para repetir o bolo com variações
O que é uma função construtora?
É uma função usada como “fábrica de objetos”.
Exemplo:
function Produto(nome, preco) {
this.nome = nome;
this.preco = preco;
}
Essa função define o “formato” dos objetos Produto.
Criando objetos com new
Para usar a construtora, usamos a palavra-chave new:
const p1 = new Produto("Teclado", 200);
const p2 = new Produto("Mouse", 90);
console.log(p1.nome); // Teclado
console.log(p2.preco); // 90
Cada objeto criado terá suas próprias propriedades.
O que o new faz (em linguagem simples)
Quando você usa new:
- cria um objeto vazio
- liga esse objeto à função construtora
- define
thispara esse novo objeto - retorna o objeto no final (automaticamente)
Por que usar função construtora?
- evita repetir código
- mantém padrão entre objetos parecidos
- facilita manutenção e organização
- prepara terreno para entender classes depois
Adicionando métodos na construtora (jeito inicial)
function Usuario(nome, email) {
this.nome = nome;
this.email = email;
this.exibirResumo = function () {
return `${this.nome} <${this.email}>`;
};
}
Funciona, mas há um detalhe importante: esse método é recriado para cada objeto novo.
Mais adiante, você verá protótipos para compartilhar métodos de forma mais eficiente.
Convenção de nome
É comum escrever construtoras com inicial maiúscula:
ProdutoUsuarioPedido
Isso ajuda a identificar que a função deve ser usada com new.
Erros comuns de iniciantes
1) Esquecer o new
const p = Produto("Teclado", 200); // errado para uso construtor
Sem new, o comportamento não será o esperado.
2) Usar nomes confusos de parâmetros
Evite nomes genéricos demais.
Prefira nome, preco, estoque, etc.
3) Misturar responsabilidades
A construtora deve focar no “molde” do objeto.
Validações complexas e regras grandes podem ficar em funções separadas.
Resumo da lição
- Função construtora é um molde para criar muitos objetos parecidos.
- Usamos
newpara instanciar objetos. thisaponta para o objeto que está sendo criado.- É um passo importante antes de estudar protótipos e classes.