Le « nouveau » mot-clé JavaScript est-il préjudiciable ?
Le débat autour du « nouveau » mot-clé en JavaScript a été déclenché par les inquiétudes exprimées par partisans de pratiques de codage sûres. Cependant, les avantages de l'utilisation du « nouveau » l'emportent sur les risques potentiels.
Avantages de l'utilisation du « nouveau »
Inconvénients de l'utilisation 'nouveau'
Stratégies d'atténuation
Cet inconvénient peut être facilement corrigé :
function foo() { if (!(this instanceof foo)) { return new foo(); } // Constructor logic follows... }
En incluant ce code, vous pouvez éviter toute utilisation abusive accidentelle et préserver les avantages de 'nouveau.'
Un contrôle d'intégrité à usage général
Pour encore plus de sécurité, envisagez des assertions ou des exceptions d'exécution :
if (!(this instanceof arguments.callee)) { throw new Error("Constructor called as a function"); }
Remarque : L'utilisation de arguments.callee est obsolète en mode strict ES5.
ES6 et amélioré Sécurité
Conclusion
Avec les précautions appropriées, « nouveau » reste un outil indispensable en JavaScript. Il offre un héritage orienté objet, des avantages en termes de performances et une atténuation des erreurs. En mettant en œuvre des contrôles de sécurité, vous pouvez exploiter la puissance du « nouveau » sans compromettre la qualité ou la fiabilité du 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!