| chapter | 9 |
|---|---|
| pageNumber | 103 |
| description | Comprensión de las funciones constructoras en JavaScript. |
Las funciones constructoras en JavaScript son funciones especiales que se utilizan para crear e inicializar objetos. Ofrecen una forma de definir un modelo para crear varios objetos con propiedades y métodos similares.
Una función constructora se define como una función regular, pero normalmente se nombra con una letra mayúscula inicial para distinguirla de las funciones regulares.
He aquí un ejemplo básico de una función constructora:
function Persona(nombre, apellido) {
this.nombre = nombre;
this.apellido = apellido;
}
const persona1 = new Persona("Juan", "Pérez");
const persona2 = new Persona("Juana", "Herrera");
console.log(persona1.nombre); // Output: Juan
console.log(persona2.apellido); // Output: HerreraEn este ejemplo, la función constructora Persona inicializa las propiedades nombre y apellido para cada nuevo objeto creado.
Puede agregar métodos a los objetos creados por una función constructora definiéndolos en el prototipo del constructor.
function Persona(nombre, apellido) {
this.nombre = nombre;
this.apellido = apellido;
}
Persona.prototype.dameNombreCompleto = function() {
return `${this.nombre} ${this.apellido}`;
};
const persona1 = new Persona("Juan", "Pérez");
console.log(persona1.dameNombreCompleto()); // Output: Juan PérezLa palabra clave new se utiliza para crear una instancia de un objeto a partir de una función constructora. Realiza los siguientes pasos:
- Crea un nuevo objeto vacío.
- Establece la palabra clave
thisen el nuevo objeto. - Ejecuta la función constructora.
- Devuelve el nuevo objeto.
function Coche(marca, modelo) {
this.marca = marca;
this.modelo = modelo;
}
const coche1 = new Coche("Toyota", "Corolla");
console.log(coche1.marca); // Salida: ToyotaES6 introdujo la sintaxis class, que proporciona una forma más concisa y legible de definir funciones y métodos constructores.
class Persona {
constructor(nombre, apellido) {
this.nombre = nombre;
this.apellido = apellido;
}
dameNombreCompleto() {
return `${this.nombre} ${this.apellido}`;
}
}
const persona1 = new Persona("Juan", "Pérez");
console.log(persona1.dameNombreCompleto()); // Salida: Juan PérezLas funciones constructoras son una característica fundamental de JavaScript para crear e inicializar objetos. Permiten definir un modelo para los objetos y agregar métodos a su prototipo. Con la introducción de ES6, la sintaxis de class proporciona una forma más moderna y legible de lograr la misma funcionalidad.