Maison > interface Web > js tutoriel > Devriez-vous utiliser des parenthèses avec le « nouvel » opérateur en JavaScript ?

Devriez-vous utiliser des parenthèses avec le « nouvel » opérateur en JavaScript ?

DDD
Libérer: 2024-12-17 03:00:26
original
211 Les gens l'ont consulté

Should You Use Parentheses with the `new` Operator in JavaScript?

Création d'objets sans parenthèses avec le "nouvel" opérateur

La création d'objets avec le "nouvel" opérateur en utilisant l'ancienne méthode :

const obj = new Foo;
Copier après la connexion

est valide et défini dans le standard ECMAScript. L'omission des parenthèses n'est autorisée que pour l'opérateur "nouveau" lorsqu'il n'y a aucun argument dans l'appel de fonction.

Les deux méthodes de création d'objet obtiennent le même résultat, mais il existe des différences subtiles. Lors de l'utilisation de la syntaxe sans parenthèses, le moteur fournit implicitement les parenthèses, ce qui peut entraîner un comportement inattendu si le code est modifié ultérieurement. Par exemple, si vous insérez accidentellement un argument après avoir ajouté des parenthèses :

const obj = new Foo(argument);
Copier après la connexion

le code sera interrompu car l'opérateur "nouveau" ne peut pas être invoqué avec des arguments lorsqu'il est créé sans parenthèses.

Sur le d'un autre côté, utiliser les parenthèses avec une liste d'arguments vide déclare explicitement l'absence d'arguments, évitant ainsi de telles erreurs. De plus, JSLint recommande d'utiliser des parenthèses, car il détecte les parenthèses manquantes lors de l'appel de constructeurs.

Bien que les deux formulaires soient valides, l'utilisation de parenthèses est préférable pour des raisons de cohérence, de clarté et pour éviter des pièges potentiels.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal