Maison >interface Web >js tutoriel >Que fait le « nouveau » mot-clé en JavaScript sous le capot ?

Que fait le « nouveau » mot-clé en JavaScript sous le capot ?

DDD
DDDoriginal
2025-01-05 12:56:39372parcourir

What Does the

Parlons du nouveau mot-clé en JavaScript. C’est comme la baguette magique qui permet aux fonctions constructeur de faire leur travail. Mais que se passe-t-il réellement en coulisses ?

  1. Sort un nouvel objet

    La première chose que fait New est de créer un objet brillant et vide. Considérez-le comme une toile vierge attendant d’être peinte.

  2. Lien vers le haut

    Cet objet vide ? Il est connecté au prototype de la fonction constructeur. Maintenant, il sait qui est son « parent », comme s’il était ajouté à un arbre généalogique sympa.

   obj.__proto__ = ConstructorFunction.prototype;
  1. Remise des clés À l'intérieur du constructeur, cela devient le nouvel objet. Vous pouvez désormais appliquer certaines propriétés et méthodes, par exemple pour décorer votre nouvelle pièce.
   ConstructorFunction.call(obj);
  1. Va avec le courant Enfin, il vérifie si votre constructeur renvoie quelque chose de spécifique. Sinon, il hausse les épaules et rend le nouvel objet qu'il a fabriqué plus tôt.

Exemple de temps :

function Animal(type) {
  this.type = type;
}

const cat = new Animal('cat');
console.log(cat.type); // cat

Sans nouveauté, toutes ces choses sympas n'arrivent pas : cela indique le mauvais endroit, et la chaîne de prototypes ? Totalement éclaté. Alors oui, new est comme votre assistant amical, qui s'assure que tout se passe bien lorsque vous construisez des choses.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Supprimer la valeur en doubleArticle suivant:Supprimer la valeur en double