Funciones especiales

Curso de Javascript Online. Desde cero.

11.  
14.  
19.  
26.  

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
← Objetos
Javascript Find →