Pour faire le point-virgule règles simples
Chaque ligne commence avec un (
, [
, `, ou de n'importe quel opérateur (/, +, - sont les seuls valables), doit commencer par un point-virgule.
func()
;[0].concat(myarr).forEach(func)
;(myarr).forEach(func)
;`hello`.forEach(func)
;/hello/.exec(str)
;+0
;-0
Cela empêche une
func()[0].concat(myarr).forEach(func)(myarr).forEach(func)`hello`.forEach(func)/hello/.forEach(func)+0-0
monstrocity.
Note Supplémentaire
Parler de ce qui va arriver: crochets sera indice, les parenthèses seront traités comme des paramètres de la fonction. Le backtick se transformerait en étiqueté modèle, et regex ou explicitement entiers signés va se transformer en opérateurs. Bien sûr, vous pouvez simplement ajouter un point-virgule à la fin de chaque ligne. Il est bon de garder l'esprit lorsque vous êtes le prototypage rapide et de la suppression de vos points-virgules.
En outre, l'ajout des points-virgules à la fin de chaque ligne ne sera pas vous aider avec ce qui suit, donc garder à l'esprit des déclarations comme
return // Will automatically insert semicolon, and return undefined.
(1+2);
i // Adds a semicolon
++ // But, if you really intended i++ here, your codebase needs help.
Le cas ci-dessus va arriver à revenir/continuer/pause/++/--. Tout linter va attraper cette morte-code ou ++/-- erreur de syntaxe (++/-- ne sera jamais réaliste de se produire).
Enfin, si vous voulez concaténation des fichiers de travail, assurez-vous que chaque fichier se termine par un point-virgule. Si vous utilisez un système de regroupement de programme (recommandé), il devrait le faire automatiquement.