Pourquoi n'y a-t-il pas de référence JavaScript officielle?
J'ai essayé de rechercher une référence JavaScript, mais aucune n'est disponible. Les deux meilleures sources suggérées sont MDN (Mozilla Developer Network) et W3Schools.
Pourquoi?
Ce n'est pas comme s'il y avait une version officielle de JavaScript. Tous les navigateurs ont créé leur propre moteur JavaScript - certains utilisent le même. Mais surtout, Internet Explorer a sa propre version qui ne supporte pas beaucoup de ce que les autres navigateurs supportent, ce qui rend très difficile la création d’une référence JavaScript générale.
Modifier:
Bien que je sache qu’il existe une norme et une équipe de développement officielles pour ECMA, j’aimerais dire que cela n’a aucune importance tant que les navigateurs (Internet Explorer) ne sont pas à la hauteur. En fin de compte, les clients souhaitent également que JavaScript fonctionne avec Internet Explorer. Ils ne se soucient pas des normes ECMA, ils veulent juste que cela fonctionne. C’est là que les bibliothèques JavaScript entrent en scène, mais c’est une autre histoire.
C'est la même chose avec HTML et CSS, nous ne pouvons pas utiliser ces outils pour le développement actif tant que:
- Tous les navigateurs les prennent en charge.
- Nous fournissons aux navigateurs un code leur permettant de le prendre en charge.
- C'est bon, cela ne fonctionne pas dans tous les navigateurs.
Edit2:
Internet Explorer se rapproche de la tombe avec le nouveau projet de navigateur de Microsoft: Edge. Ceci, cependant, ne change pas vraiment l'image globale. Nous en avons encore beaucoup si différents navigateurs doivent être pris en charge. Les développeurs essaient constamment de repousser les limites du possible. Cela signifie que nous rencontrons souvent ce problème. Certaines versions de navigateur que nous souhaitons prendre en charge ne prennent pas en charge certaines fonctionnalités de standard (qui est généralement un peu fluide), ce qui signifie que nous devons créer une solution de contournement ou utiliser des cadres qui implémenter les fonctionnalités intégrées manquantes.
Vous pouvez essayer avec le site officiel ECMAscript,
mais la chose utile est en réalité la mise en œuvre de chaque navigateur.
J'aime beaucoup cette aide-mémoire de la Bible en JavaScript de Danny Goodman:
http://media.wiley.com/product_ancillary/12/04705269/DOWNLOAD/9780470526910_Appendix_A.pdf
Je dirais que celui-ci est le "officiel": https://developer.mozilla.org/en/JavaScript
Vous avez également la Spécification du langage ECMAScript, édition 5.1(ou comme PDF , la spécification définitive)).
Et de Microsoft: Référence du langage JavaScript : "Cette documentation explique l’implémentation Microsoft de JavaScript, qui est conforme à la spécification du langage ECMAScript 5th Edition. Il fournit également des fonctionnalités supplémentaires non incluses. dans les normes Ecma. "
Si vous utilisez ECMAScript pour le Web (99,9% des personnes), au-delà de la syntaxe de base du langage (couvert par la spécification ECMA-262 susmentionnée), vous recherchez probablement une référence DOM - qui est l’API ECMAScript utilisé pour interagir avec les documents Web.
Je suis très surpris que personne n'ait mentionné le sof ap DOM. La norme actuelle du W3C DOM est la suivante: http://www.w3.org/TR/DOM-Level-2-Core/
(au fait, comme pour la confusion de nommage - ECMAScript est le nom de la norme officielle, et "Javascript" et "JScript" sont des "forks" propriétaires de Netscape et de Microsoft)
Il est très difficile d'avoir une référence "officielle" tant qu'il y a des implémentations (dans tous les navigateurs) et qu'il existe une spécification (ECMAScript) mais pas de tests de conformité des implémentations par rapport aux spécifications.
Maintenant, cependant, nous avons la suite de conformité EMCAScript 5 sur http://es5conform.codeplex.com/ - et il semble exister un consensus sur le fait que les implémentations d’ECMAScript se rapprochent, ce qui rend ECMAScript plus susceptible de constituer la référence officielle de la solution. la langue.
Il y a une référence officielle, ce n'est tout simplement pas dans un format très pratique. Il s’agit de la spécification ECMA-262 . Il s’agit d’un document très volumineux PDF au lieu d’un ensemble interrogeable de pages HTML.
Toute révision de pages JavaScript sur MDC par un membre de l’équipe de documentation de Mozilla (comme Eric Shepherd ) est officielle. JavaScript est officiellement maintenu par Mozilla, seule la documentation de Mozilla est officielle. Les seuls moteurs qui supportent JavaScript sont actuellement créés par Mozilla et tous les autres moteurs implémentent ECMAScript. JavaScript et ECMAScript ont quelques différences (par exemple, la déclaration awesome let
).
Je trouve la vieille école documentation JavaScript de Netscape 4 très utile à cette fin. Bien qu'ils soient évidemment totalement obsolètes et que certaines de leurs fonctionnalités DOM, telles que Layers, ont disparu depuis longtemps, leur base est vraiment solide.
En effet, avant l’époque de laIE suprématie et de la normalisation ECMA, le code JavaScript de Netscape était le code JavaScript définitif. Les autres navigateurs ont dû implémenter exactement ce que vous voyez dans ces vieux documents.
Ils sont également beaucoup plus faciles à lire que le document ECMA-262, qui même selon les normes des documents standard est une horreur absolue.
Par "officiel", je pense que vous voulez dire "écrit par les personnes responsables de JavaScript".
Je ne fais que spéculer, mais les responsables de JavaScript (ECMA) ne tirent aucun profit direct de cette opération et n’ont probablement aucune compétence particulière en matière de rédaction de documents de référence. Ils n’ont donc ni l’incitation ni la capacité d’écrire une bonne référence.
Personnellement, j'aime bien JavaScript: le guide définitif de O’Reilly. Une sixième édition sortira en novembre.
Citation de Wikipedia:
Les débuts chez Netscape
En novembre 1996, Netscape a soumis JavaScript à Ecma International ...
JavaScript est officiellement géré par Mozilla Foundation ...
Donc, à mon avis, l'ECMA est la norme et Mozilla est la norme.