Maison > interface Web > js tutoriel > Comment fonctionne l'insertion automatique de point-virgule (ASI) de JavaScript et quand se produit-elle ?

Comment fonctionne l'insertion automatique de point-virgule (ASI) de JavaScript et quand se produit-elle ?

Barbara Streisand
Libérer: 2024-12-21 19:52:13
original
870 Les gens l'ont consulté

How Does JavaScript's Automatic Semicolon Insertion (ASI) Work and When Does It Occur?

Insertion automatique de point-virgule en JavaScript : règles détaillées

L'insertion automatique de point-virgule (ASI) de JavaScript est une fonctionnalité controversée qui peut insérer des points-virgules à certains endroits dans du code où ils ne sont pas explicitement écrits. Comprendre les règles d'ASI est crucial pour éviter les bogues potentiels et garantir la bonne exécution du code.

Déclarations affectées par ASI

ASI ne s'applique qu'à des types spécifiques d'instructions :

  • Déclarations vides
  • Déclarations Var
  • Expression déclarations
  • Déclarations faire pendant
  • Déclarations Continuer
  • Déclarations de rupture
  • Déclarations de retour
  • Déclarations de lancement

Règles ASI

ECMAScript Le §11.9.1 décrit trois cas où l'ASI peut se produire :

Cas 1 : Jeton incriminé

Si un jeton non valide est rencontré et qu'il suit un LineTerminator, un point-virgule est inséré avant lui, à l'exception de '}'.

Cas 2 : Fin de la saisie Stream

Si l'analyseur ne peut pas terminer le programme, un point-virgule est inséré à la fin du flux d'entrée.

Cas 3 : Production restreinte

Un point-virgule est inséré avant les jetons restreints, qui incluent :

  • Mettre à jour les expressions sans LineTerminators après les opérandes (par exemple, c)
  • Instructions Continuer et interrompre sans étiquettes ni points-virgules
  • Instructions de retour sans expressions
  • Instructions de lancement sans expressions
  • Fonctions fléchées sans parenthèses après les paramètres
  • Expressions de rendement sans parenthèses après * ou rendement

Exemple d'ASI en pratique

Considérons le code suivant :

return
"something";
Copier après la connexion

Selon le cas 3, ASI insère un point-virgule avant la déclaration de retour de production restreinte, ce qui entraîne dans :

return;
"something";
Copier après la connexion

Conclusion

ASI peut être une fonctionnalité délicate à gérer, mais comprendre ses règles est essentiel pour écrire du code JavaScript robuste. En adhérant à ces règles, les développeurs peuvent éviter les erreurs et assurer la bonne exécution de leurs programmes.

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