Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.
Funciones Factory
Las funciones factory crean un objeto y lo devuelven.
function createHuman(name) {
return {
name: name,
talk: function () {
console.log('Mi nombre es ' + name);
}
};
}
const human = createHuman('Juan');
human.talk();
Funciones constructor
Las funciones constructoras son funciones diseñadas para construir un nuevo objeto. Dentro de una función constructora, la palabra clave this se refiere a un objeto recién creado, que se pueden asignar valores a. Las funciones del constructor «devuelven» este nuevo objeto automáticamente.
function Human(name) {
this.name = name;
this.salutation= "Hello";
}
const human = new Human("Tom");
console.log(human.salutation); // "Hello"
Los objetos creados por las funciones del constructor también se consideran «instancias» de la función del constructor por el operador instanceof:
console.log(human instanceof Human); // true
Los objetos creados por las funciones de constructor también tienen una propiedad especial en su prototipo llamado constructor, que apunta a la función utilizada para crearlos:
console.log(human.constructor) // Returns the `Human` function
Propiedad prototype
Las funciones de constructor también tienen una propiedad prototype que apunta a un objeto cuyas propiedades son heredadas automáticamente por todos los objetos creados con ese constructor. Es decir, que modificando esa propiedad estaremos modificando todas las instancias creadas con el constructor.
Human.prototype.makeSalutation= function() {
console.log(this.salutation + ' you');
}
human.makeSalutation(); // Hello