Nouvelles Chroniques d'Amethyste

Penser au Sens, pas au Verbe

Javascript: les points-virgules

Poster un commentaire

Les points-virgules en JavaScript c’est une source inépuisable de bugs.

Normalement chaque ligne de code devrait se terminer par un point-virgule. Mais parfois les retours chariots suffisent… mais pas toujours!

Toujours est t’il que chacun a son opinion et que le débat tourne rapidement à l’orage.

Essayons d’y voir clair la dedans.

La spécification EcmaScript explicite les règles où le point-virgule sera ajouté automatiquement:

http://ecma262-5.com/ELS5_Section_7.htm#Section_7.9

Cette possibilité est donc clairement prévue par la norme.

Voici les règles générales, les plus importantes:

  • Lorsque le parseur rencontre un token qui n’est pas autorisé par la grammaire JavaScript, il insère automatiquement un point-virgule juste avant si:
    le token est séparé du précédent par au moins un terminateur de ligne
    ou si le token est }
  • Le parseur atteint la fin d’une suite de token, le parseur est capable d’interpréter la suite déjà lue comme un Programme (au sens EcmaScript), alors un ; est ajouté à la fin de la suite

Viennent ensuite une série de restrictions.

Je conseille de lire le chapitre 7.9.2 qui montre des exemples qui passeront, mais surtout des exemples qui ne passeront pas et je dois dire que cela m’a surpris.

Ceci étant à quoi ça sert? L’idée générale est de réduire la taille du code JavaScript.

Mouai, mais est-ce que le risque de bugs indépatouillables en vaut la peine, j’ai du mal à le croire personnellement.
De même que je mets toujours une accolade après un if, je plaide fortement pour les points-virgules. Cela sécurise le code et y donne une cohérence d’écriture.

Un autre argument est que l’absence de points-virgules empêche certains minificateur comme JsMin de fonctionner et qui peut savoir quoi d’autre d’ailleurs?

Donc pas d’arguments décisifs il est vrai, juste que le point-virgule assure la sécurité de votre application. Et ça pour moi ça fait la différence.

A vous de vous faire votre opinion…

Note culturelle

Le point-virgule s’écrit points-virgules au pluriel.
Selon le Larousse il s’agit d’un signe de ponctuation qui sépare deux membres d’une phrase indépendants l’un de l’autre grammaticalement, mais entre lesquels il existe une liaison logique.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s