new keyword

JavaScript 🟡 Mid

Définition

Opérateur qui crée une instance : 1) créé un objet vide, 2) lie son [[Prototype]] au .prototype du constructeur, 3) exécuté le constructeur avec this = nouvel objet, 4) retourne l'objet.

Analogie

Un moule a gâteau : new prend le moule (constructeur), verse la pâte (propriétés), et te donne un gâteau (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 propriétés fuient.
#core#interview#OOP

En entretien

  1. Explique-moi ce que fait exactement l'opérateur new.

    Il crée un objet vide, lie son [[Prototype]] au .prototype du constructeur, exécute le constructeur avec this pointant vers ce nouvel objet, puis le retourne. C'est ainsi qu'on instancie des objets à partir de constructeurs ou de classes ES6.

  2. Quel bug produit l'oubli du mot-clé new ?

    Sans new, this pointe vers l'objet global (ou undefined en mode strict) au lieu du nouvel objet, donc les propriétés qu'on croit assigner à l'instance fuient ailleurs. C'est un bug silencieux difficile à repérer sans strict mode.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre