new keyword

JavaScript 🟡 Mid

Definition

Operateur qui cree une instance : 1) cree un objet vide, 2) lie son [[Prototype]] au .prototype du constructeur, 3) execute le constructeur avec this = nouvel objet, 4) retourne l'objet.

Analogie

Un moule a gateau : new prend le moule (constructeur), verse la pate (proprietes), et te donne un gateau (instance).

Exemple de code

function User(name) {
  this.name = name;
}
User.prototype.hi = function() { return this.name; };
const u = new User('Alice');
u.hi(); // 'Alice'

Cas d'usage

Instancier des objets a partir de constructeurs ou de classes ES6.

Anti-pattern

Oublier new devant un constructeur : this pointe alors vers global/undefined et les proprietes fuient.
#core#interview#OOP