new keyword
JavaScript 🟡 MidDefinition
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.