Funções Construtoras de JavaScript
Use funções construtoras para criar vários objetos com a mesma estrutura.
Uma função construtora atua como um modelo. Você usa a palavra-chave new para construir objetos a partir desse modelo. Você deve iniciar os nomes dos construtores com uma letra maiúscula.
Como funciona:
Quando você usa a palavra-chave new, o JavaScript faz quatro coisas:
- Ele cria um novo objeto vazio.
- Ele define o this para apontar para esse novo objeto.
- Ele executa o código da função.
- Ele retorna o novo objeto.
A palavra-chave this é essencial. Dentro da função, o this refere-se ao seu novo objeto.
Exemplo:
function Employee(name, salary) { this.name = name; this.salary = salary; }
const emp1 = new Employee("Ram", 50000); const emp2 = new Employee("Kumar", 60000);
Ambos os objetos compartilham a mesma estrutura.
Adicionando métodos:
Você pode adicionar funções dentro de um construtor.
function Employee(name, salary) { this.name = name; this.salary = salary; this.displayInfo = function() { console.log(this.name + " earns " + this.salary); }; }
Gerenciamento de memória:
Adicionar métodos diretamente dentro do construtor cria uma nova cópia para cada objeto. Isso utiliza mais memória.
Em vez disso, use a propriedade prototype.
Employee.prototype.greet = function() { console.log("Hello " + this.name); };
Agora, cada funcionário compartilha uma única cópia do método greet. Isso torna seu código mais eficiente.
Resumo:
- Use literais de objeto para objetos únicos.
- Use funções construtoras para múltiplos objetos com o mesmo formato.
Fonte: https://dev.to/dev_saravanan_journey/javascript-constructor-functions-k6k