Object.create : une alternative moderne au "nouveau"
Dans JavaScript 1.9.3 (ECMAScript 5), l'introduction de l'objet La méthode .create est devenue un sujet de discussion. Cette méthode offre une alternative à l'opérateur "nouveau" traditionnel pour créer des objets. Explorons les avantages et comment l'utiliser efficacement.
Le défi
Dans l'exemple fourni, l'objectif est de remplacer l'utilisation de « nouveau » par Object. create pour créer un objet utilisateur nommé "bob".
Approche actuelle
L'approche actuelle implique définir un objet simple "userB" et utiliser Object.create pour créer "bob" en tant que délégué de "userB". Cependant, cette approche introduit une méthode publique « init » qui est inutile et les propriétés name et ID ne sont pas initialisées correctement.
Une approche plus efficace
Object.create brille vraiment en matière d'héritage différentiel, où les objets héritent directement des objets existants. Dans ce cas, nous pouvons initialiser l'objet "bob" avec les propriétés souhaitées comme deuxième argument de Object.create :
var userB = { sayHello: function() { console.log('Hello ' + this.name); } }; var bob = Object.create(userB, { id: { value: MY_GLOBAL.nextId(), enumerable: true }, name: { value: 'Bob', enumerable: true } });
Dans cette approche, nous spécifions les propriétés "id" et "name" comme un objet littéral avec les attributs de propriété (énumérable, inscriptible, configurable). Cela nous permet de définir les valeurs initiales et de contrôler leur accessibilité.
Conclusion
Object.create fournit un mécanisme puissant pour la création d'objets avec des options flexibles d'héritage et d'initialisation des propriétés. En adoptant Object.create, les développeurs peuvent améliorer la maintenabilité et la flexibilité de leur base de code JavaScript.
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!