Maison > Article > interface Web > Quelles sont les différences entre l'extension et l'écrasement de prototypes JavaScript ?
Définition d'un prototype JavaScript : exploration de deux syntaxes et de leurs impacts
En JavaScript, la définition de prototypes offre un moyen pratique d'ajouter un comportement aux objets. Deux syntaxes courantes existent pour la définition de prototypes, et elles peuvent présenter des différences fonctionnelles.
Option 1 : Extension du prototype existant
Person.prototype.sayName = function(name) { alert(name); }
Cette syntaxe étend l'objet prototype existant avec une nouvelle propriété (sayName) et une fonction qui lui est assignée. Les objets instanciés avant cette définition peuvent hériter de la nouvelle méthode.
Option 2 : écraser le prototype
Person.prototype = { sayName: function(name) { alert(name); } }
Ici, l'intégralité de l'objet prototype est remplacée par un nouveau , contenant uniquement la méthode sayName. Cela écrase toutes les propriétés du prototype existantes, y compris la propriété du constructeur implicitement liée.
Différences fonctionnelles
Avantages et inconvénients
Syntaxe alternative pour l'extension :
Pour une syntaxe littérale d'objet plus propre sans écrasement, pensez à utiliser Object.assign :
Object.assign(Person.prototype, { sayName: function(name) { alert(name); } });
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!