Maison > interface Web > js tutoriel > le corps du texte

Quand choisir Object.create plutôt que new pour l'héritage JavaScript ?

Linda Hamilton
Libérer: 2024-11-19 07:11:03
original
908 Les gens l'ont consulté

When to Choose Object.create Over new for JavaScript Inheritance?

Héritage JavaScript : Object.create vs. new

Le concept d'héritage en JavaScript peut prêter à confusion, car il existe différentes approches pour y parvenir. il. Cet article vise à clarifier les méthodes les plus acceptées et à fournir une solution à votre scénario spécifique.

Comprendre Object.create et new

Object.create est une méthode qui crée un nouvel objet en héritant d'un objet existant. Ceci est utile lorsque vous souhaitez créer un objet de base, puis l'étendre avec des propriétés et des méthodes supplémentaires. La syntaxe de Object.create est :

Object.create(prototype[, propertiesObject])
Copier après la connexion

D'autre part, le nouveau mot-clé est utilisé pour créer une nouvelle instance d'un objet et invoquer sa fonction constructeur. La syntaxe de new est la suivante :

new ConstructorFunction([arguments])
Copier après la connexion

Choisir la bonne méthode d'héritage

Le choix entre Object.create et new dépend de vos besoins spécifiques. Object.create est idéal pour créer des objets de base dont vous souhaitez hériter sans appeler leurs constructeurs. Par exemple :

const Model = {
    // Base object properties and methods...
};

const RestModel = Object.create(Model);
Copier après la connexion

Si, toutefois, vous souhaitez appeler la fonction constructeur de l'objet de base sur l'objet héritant, vous devez alors utiliser new. Par exemple :

function Model() {
    // Base object constructor...
}

function RestModel() {
    Model.call(this);
    // Additional properties and methods...
}
Copier après la connexion

Solution pour votre scénario

Dans votre cas, vous souhaitez hériter du RestModel de l'objet de base Model. Pour y parvenir en utilisant Object.create, procédez comme suit :

RestModel.prototype = Object.create(Model.prototype);
Copier après la connexion

Cela créera un nouveau prototype RestModel qui hérite du prototype Model.

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