Maison > interface Web > js tutoriel > Le « nouveau » mot-clé de JavaScript est-il plus utile que nuisible ?

Le « nouveau » mot-clé de JavaScript est-il plus utile que nuisible ?

Mary-Kate Olsen
Libérer: 2024-12-13 07:25:13
original
474 Les gens l'ont consulté

Is JavaScript's `new` Keyword More Helpful Than Harmful?

Le « nouveau » mot-clé de JavaScript est-il nocif ?

Le « nouveau » mot-clé de JavaScript a suscité la controverse, certains s'opposant à son utilisation en raison de la perception risques. Cependant, un examen plus approfondi révèle de nombreux avantages à utiliser « nouveau ».

Avantages de l'utilisation de « nouveau »

  • Héritage de prototype : "new" permet l'héritage de prototypes, un mécanisme puissant pour la réutilisation du code.
  • Performance : en utilisant le prototype, "nouveau" évite la surcharge liée à l'attribution de méthodes à chaque nouvel objet, ce qui entraîne une création plus rapide et une empreinte mémoire réduite.

Inconvénient du "nouveau"

  • Échec silencieux : Si « nouveau » est omis involontairement, le code échoue silencieusement sans erreur.

Atténuer l'inconvénient

Pour remédier à cet inconvénient, une simple vérification peut être ajoutée à chaque fonction :

function foo() {
  // If "new" is omitted, silently correct the problem
  if (!(this instanceof foo)) {
    return new foo();
  }

  // Constructor logic follows...
}
Copier après la connexion

Cela garantit que l'objet est toujours construit correctement, éliminant ainsi le risque de échecs.

Pérennité

ES5 a introduit le mode strict, qui interdit certaines constructions, y compris "arguments.callee". Par conséquent, la vérification mentionnée ci-dessus devra peut-être être modifiée en mode strict :

function foo() {
  // Check for "new" using new.target (ES6)
  if (!(new.target)) {
    throw new Error("Constructor called as a function");
  }

  // Constructor logic follows...
}
Copier après la connexion

Conclusion

Bien que le mot-clé "nouveau" ait ses réserves, il reste un outil crucial en JavaScript. En comprenant ses avantages et en atténuant ses risques potentiels, les développeurs peuvent exploiter en toute sécurité la puissance du « nouveau » pour la création d'objets et la réutilisation de code.

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