Maison > interface Web > js tutoriel > Comment le « nouveau » mot-clé fonctionne-t-il en JavaScript pour créer des objets et implémenter l'héritage ?

Comment le « nouveau » mot-clé fonctionne-t-il en JavaScript pour créer des objets et implémenter l'héritage ?

Linda Hamilton
Libérer: 2024-12-24 12:24:11
original
987 Les gens l'ont consulté

How Does the `new` Keyword Work in JavaScript to Create Objects and Implement Inheritance?

Explorer le « nouveau » mot-clé en JavaScript

Comprendre le « nouveau » mot-clé

En JavaScript, le mot-clé « nouveau » joue un rôle central dans la création d'objets et dans le concept d'héritage. Malgré la réputation de JavaScript en tant que langage non orienté objet, il introduit une approche unique de la programmation basée sur les objets via le mot-clé « nouveau ».

Objectif du mot-clé « nouveau »

Le mot-clé « nouveau » a plusieurs responsabilités clés :

  1. Création d'objet : Il lance la création d'un nouvel objet.
  2. Paramètre du prototype : Il définit la propriété [[prototype]] interne de l'objet nouvellement créé sur l'objet prototype externe de la fonction constructeur.
  3. Référence 'this' : Il attribue la variable 'this' au nouveau créé objet.
  4. Invocation du constructeur : Il déclenche l'exécution de la fonction constructeur avec l'objet nouvellement créé comme contexte.
  5. Retour d'objet : Il renvoie l'objet nouvellement créé, sauf si la fonction constructeur renvoie un objet non nul référence.

Comprendre les propriétés [[prototype]] et « prototype »

  • [[prototype]] Propriété : Cette propriété interne est unique à chaque objet et stocke une référence au prototype de l'objet. Il ne peut pas être modifié directement mais est accessible à l'aide de Object.getPrototypeOf().
  • Propriété 'prototype' : Il s'agit d'une propriété accessible exclusive aux objets fonction. Il permet d'accéder à l'objet prototype qui sera partagé par toutes les instances créées en utilisant la fonction comme constructeur.

Exemple de création d'objet avec 'nouveau'

function ObjMaker() { this.a = 'first'; }
// 'ObjMaker' is the constructor function

ObjMaker.prototype.b = 'second';
// 'ObjMaker.prototype' is the prototype object

obj1 = new ObjMaker();
// 'new' creates a new 'obj1' object, assigns the prototype, and executes 'ObjMaker'

obj1.a; // 'first'
obj1.b; // 'second'
// 'obj1' inherits 'b' from 'ObjMaker.prototype' while still accessing its own property 'a'
Copier après la connexion

Hiérarchie de l'héritage avec le « nouveau »

À travers le Mot-clé « nouveau », JavaScript permet un modèle d'héritage basé sur un prototype. En définissant la propriété [[prototype]], les objets héritent des propriétés et des méthodes du prototype de leur constructeur. Cela permet la création de sous-classes qui étendent les classes existantes, comme ceci :

function SubObjMaker() {}
SubObjMaker.prototype = new ObjMaker(); // deprecated, use Object.create() now

SubObjMaker.prototype.c = 'third';
obj2 = new SubObjMaker();

obj2.c; // 'third'
obj2.b; // 'second'
obj2.a; // 'first'
// 'obj2' inherits 'c' from 'SubObjMaker.prototype', 'b' from 'ObjMaker.prototype', and 'a' from 'ObjMaker'
Copier après la connexion

En résumé, le mot-clé 'new' en JavaScript facilite non seulement la création d'objets, mais permet également un mécanisme d'héritage flexible qui simule des classes basées sur les classes. programmation.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal