web-dev-qa-db-fra.com

Pourquoi JSLint veut-il que j'utilise des guillemets doubles au lieu de guillemets simples? Attendu "" "et vu à la place" ""

J'ai récemment commencé à voir JSLint donner l'avertissement suivant:

JSLint: "" "attendu et a vu" "à la place.

En d'autres termes, je veux utiliser des guillemets doubles au lieu de guillemets simples. Pourquoi JSLint m'en avertit-il? Les guillemets simples et les guillemets doubles ne sont-ils pas plus ou moins interchangeables en JavaScript, soumis uniquement à la préférence du programmeur?

31
Thunderforge

Le version du 02/02/2016 de JSLint a changé pour préférer les guillemets doubles aux guillemets simples. Douglas Crockford , développeur de JSLint et développeur influent pour JavaScript et JSON, à condition que cette justification :

Quand j'ai rencontré JavaScript pour la première fois, il a été surpris qu'il ait les deux types de guillemets, et j'ai essayé de lui donner un sens, en utilisant simple pour le texte interne et double pour externe.

Mais finalement, j'ai réalisé que la distinction ne valait pas l'encombrement et la confusion qui viennent d'avoir deux quand un seul est nécessaire. J'ai décidé d'y aller avec double car c'est ce que JSON utilise, et cela évite les erreurs causées par la surcharge de l'apostrophe. J'ai été mordu par ça.

En général, je cherche des moyens de rendre la langue plus petite et meilleure. Les citations entrent dans la même classe que null et non défini. Nous n'avons vraiment pas besoin des deux.

Je l'ai essayé sur certains de mes propres codes, et je pense que c'est une amélioration. Finalement, je peux ajouter option.single à JSLint.

Cela s'est produit: option.single a été ajouté dans la version du 06/06/2016 de JSLint, vous pouvez donc maintenant dire à JSLint d'ignorer éventuellement les guillemets simples.

Crockford a réitéré plus succinctement sa justification des guillemets doubles plutôt que des guillemets simples dans ne discussion ultérieure :

J'ai trouvé que les gens avaient du mal à gérer les deux types de devis. Étant donné que le deuxième ensemble est complètement inutile et que le deuxième ensemble [guillemets simples] peut introduire des problèmes et des confusions, je recommande maintenant d'utiliser uniquement des guillemets doubles.

31
Thunderforge

Il s'agit d'un avertissement de spam provenant d'un outil très avisé, il n'y a aucune bonne raison à cela.

Les anciens outils lint (JSLint et JSHint) ont été entièrement remplacés par ESLint , qui prend en charge plus de règles et vous permet de configurer les options qui vous intéressent réellement. Plus précisément, le quotes rule vous permet de sélectionner un simple, un double ou d'ignorer complètement les citations.

11
ssube