𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀
Utiliza funciones constructoras para crear muchos objetos con la misma estructura.
Una función constructora actúa como un plano. Utilizas la palabra clave new para construir objetos a partir de este plano. Debes comenzar los nombres de los constructores con una letra mayúscula.
Cómo funciona:
Cuando utilizas la palabra clave new, JavaScript hace cuatro cosas:
- Crea un nuevo objeto vacío.
- Establece
thispara que apunte a ese nuevo objeto. - Ejecuta el código de la función.
- Devuelve el nuevo objeto.
La palabra clave this es esencial. Dentro de la función, this se refiere a tu nuevo objeto.
Ejemplo:
function Employee(name, salary) { this.name = name; this.salary = salary; }
const emp1 = new Employee("Ram", 50000); const emp2 = new Employee("Kumar", 60000);
Ambos objetos comparten la misma estructura.
Añadir métodos:
Puedes añadir funciones dentro de un constructor.
function Employee(name, salary) { this.name = name; this.salary = salary; this.displayInfo = function() { console.log(this.name + " earns " + this.salary); }; }
Gestión de memoria:
Añadir métodos directamente dentro del constructor crea una copia nueva para cada objeto. Esto consume más memoria.
En su lugar, utiliza la propiedad prototype.
Employee.prototype.greet = function() { console.log("Hello " + this.name); };
Ahora, cada empleado comparte una única copia del método greet. Esto hace que tu código sea más eficiente.
Resumen:
- Utiliza literales de objeto para objetos únicos.
- Utiliza funciones constructoras para múltiples objetos con la misma forma.
Fuente: https://dev.to/dev_saravanan_journey/javascript-constructor-functions-k6k