Hallvord Steen un développeur de l’équipe en charge du navigateur Opera a récemment constaté que le site Twitter ne fonctionnait pas avec la version finale d’Opera 12.
Le problème serait dû à une erreur lors de la compilation du code JavaScript par le compilateur du navigateur.
Après investigation, Steen s’est rendu compte que le compilateur devait analyser un énorme fichier de près de 4 129 653 caractères. Mais, le problème ne serait pas au niveau de la taille du fichier ou du nombre de caractères, mais plutôt dû au fait que les virgules soient utilisées en lieu et place des points virgules, rendant pratiquement les 4 millions de caractères comme une seule instruction JavaScript.
Il s’avère pourtant que l’analyseur de code d’Opera dispose d’une limite pour une instruction JavaScript. Ce qui entraine l’échec de la compilation, et ne permet pas de ce fait à Twitter de s’afficher normalement.
L’utilisation de la virgule à la place du point virgule présente-t-elle un avantage, ou permet–elle d’optimiser le code JavaScript ? Steen, pour sa part, n’encourage pas le recours à cette syntaxe. « La virgule présente des inconvénients comme la génération d’un code beaucoup plus difficile à compiler par plusieurs compilateurs JavaScript actuels » note Steen.
Cependant, les sites s’orientent de plus en plus vers cette syntaxe. « J’ai vu quelques sites utiliser des virgules à la place des points virgules dans leur code JavaScript récemment. Pourquoi cette mode, ça me dépasse », regrette Steen.
Un correctif est néanmoins disponible pour Opera, permettant de résoudre ce problème avant que cela ne soit réglé dans le compilateur JavaScript du navigateur. Le correctif permet juste d’ajouter un point virgule dans le script avant que la limite ne soit atteinte.
Utiliser le correctif
Source : Blog Hallvord Steen
Et vous ?
Qu’en pensez-vous ? Est-ce une façon d’optimiser le code JavaScript ? Si oui, est-elle logique ?
Les virgules bloquent Twitter sur Opera
Est-il logique d'optimiser le code JavaScript en remplaçant point virgule par virgule ?
Les virgules bloquent Twitter sur Opera
Est-il logique d'optimiser le code JavaScript en remplaçant point virgule par virgule ?
Le , par Hinault Romaric
Une erreur dans cette actualité ? Signalez-nous-la !