Règles d'insertion automatique de point-virgule (ASI) de JavaScript
L'ASI de JavaScript est une fonctionnalité qui peut automatiquement insérer des points-virgules à la fin de certaines instructions si elles sont manquantes. Cela peut être utile dans certains cas, mais cela peut également conduire à des bugs.
Déclarations affectées par ASI
ASI est appliqué aux types de déclarations suivants :
- Instruction vide
- Instruction Var
- Expression déclaration
- Déclaration de faire pendant
- Déclaration de continuation
- Déclaration de rupture
- Déclaration de retour
- Déclaration de lancement
Règles ASI
Les règles spécifiques à l'ASI sont les suivantes suit :
-
Si un jeton invalide est rencontré et qui n'est pas autorisé par la grammaire, un point-virgule est inséré avant lui si :
- Le jeton est séparé de le jeton précédent par au moins un saut de ligne.
- Le jeton est une accolade fermante (}).
- Lorsque la fin du flux d'entrée de jetons est rencontrée et que l'analyseur ne peut pas analyser le flux de jetons d'entrée comme un seul programme complet, un point-virgule est automatiquement inséré à la fin du flux d'entrée.
- Si un jeton est autorisé par la grammaire, mais que la production est une production restreinte, un point-virgule est automatiquement inséré avant le jeton restreint jeton.
Les productions restreintes incluent :
- Mettre à jour les expressions ( , --)
- Instructions Continuer
- Instructions de rupture
- Déclarations de retour
- Jeter déclarations
- Fonctions fléchées
- Expressions de rendement
Exemples
Exemple 1 :
{ 1
2 } 3
Copier après la connexion
ASI va transformer ce code à :
{ 1
;2 ;} 3;
Copier après la connexion
Exemple 2 :
a = b
++c
Copier après la connexion
ASI transformera ce code en :
a = b;
++c;
Copier après la connexion
Exemple 3 :
return
"something";
Copier après la connexion
ASI va transformer ce code à :
return;
"something";
Copier après la connexion
Éviter les bugs ASI
ASI peut être une fonctionnalité utile, mais elle peut également conduire à des bugs. Pour éviter les bugs ASI, il est préférable de toujours utiliser explicitement des points-virgules à la fin de chaque instruction.
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!