𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀
Uma função construtora é um modelo para objetos. Use-a para criar vários objetos com a mesma estrutura.
Como funciona:
Você usa a palavra-chave new para chamar uma função construtora. Este processo faz quatro coisas:
- Ele cria um objeto vazio.
- Ele define o
thispara apontar para esse novo objeto. - Ele executa o código dentro da função.
- Ele retorna o novo objeto.
Exemplo de código:
function Employee(name, salary) {
this.name = name;
this.salary = salary;
}
const emp1 = new Employee("Saravanan", 50000);
Regras a seguir:
- Comece os nomes das funções com uma letra maiúscula.
- Use o
thispara atribuir propriedades ao novo objeto.
O papel do this:
Dentro de um construtor, o this refere-se ao objeto específico que você está criando. Por exemplo, this.name = name atribui o valor do parâmetro à propriedade do objeto.
Adicionando métodos:
Você pode adicionar funções dentro de um construtor para que cada objeto possa usá-las.
function Employee(name, salary) {
this.name = name;
this.salary = salary;
this.displayInfo = function() {
console.log(this.name + " earns " + this.salary);
};
}
Eficiência de memória:
Se você adicionar métodos diretamente ao construtor, cada objeto terá sua própria cópia. Isso consome mais memória.
Em vez disso, use o prototype. Adicionar um método ao prototype compartilha uma única cópia entre todos os objetos.
Employee.prototype.greet = function() {
console.log("Hello " + this.name);
};
Resumo:
- Use literais de objeto para um único objeto.
- Use funções construtoras para múltiplos objetos com a mesma estrutura.
Fonte: https://www.w3schools.com/js/js_object_constructors.asp Fonte: https://www.geeksforgeeks.org/javascript/javascript-function-constructor/ Fonte: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function
Post link: https://dev.to/dev_saravanan_journey/javascript-constructor-functions-k6k