98 votes

Quelle est la version de Javascript est pris en charge dans node.js

Je me suis prise en main avec Node.js et je vais avoir un moment difficile de déterminer quelle est la version de JavaScript est pris en charge par le nœud qui rend difficile de déterminer quelles sont les fonctionnalités que je peux utiliser. Voici ce que je sais.

  • Nœud utilise V8
  • V8 intègre ECMAScript, comme spécifié dans l'ECMA-262, 3e édition
  • ECMA-262, 3e édition est JavaScript 1.5

Compte tenu de cela, je suppose que je peux utiliser JavaScript 1.5 compatible code de nœud. Cependant, il s'avère que je peux utiliser l' Array.forEach, parmi d'autres constructions, même si selon le MDC, il n'est pas disponible jusqu'à ce que Javascript 1.6 -- ECMA-262, 5e édition.

Où vais-je tort? Est-il un document quelque part qui détaille les fonctionnalités de la langue?

39voto

Benson Points 10705

Cette matrice (V8 suit le WebKit de la colonne d'assez près) semble assez bien répondre à la question "quelles sont les fonctionnalités que puis-je utiliser?" mais je ne peux pas trouver une réponse canonique "quelle est la version de javascript est pris en charge?" Aussi loin que je peux dire, la meilleure réponse est celle-ci: ECMA-262 3e édition est pris en charge, mais de nombreuses caractéristiques de la 5ème édition sont également pris en charge.

Il y a une bonne explication de pourquoi V8 suit le WebKit et JavaScriptCore fonctionnalité sur ce fil.

33voto

John Middlemas Points 251

Le Nœud version javascript dépend de la version du v8 qui Nœud utilise. Nœud de la version 0.5.1 (14 Juillet 2011) et à la hausse l'utilisation v8 3.4.10 ou plus tard, et sont 5ème édition ECMA-262, plutôt que de la 3e Édition. 5ème édition est l'équivalent de Javascript 1.8.5. Voir ci-dessous raisons.

Entre le 21 Mai 2011 et le 15 juin 2011, le v8 site web de l'arrêté d'inscription v8 que la mise en œuvre de la 3ème édition ECMA-262 et a commencé à montrer de la 5e édition. http://web.archive.org/web/20110521053630/http://code.google.com/p/v8/ http://web.archive.org/web/20110615102350/http://code.google.com/p/v8/

Selon le v8 changelog, le 15 juin 2011 v8 changé de version 3.4.4. Alors que la version et les versions ultérieures sont 5ème édition.

Selon le Noeud changelog, v8 3.4.10 était dans le Nœud de la Version 0.5.1, 14 Jul 2011, de sorte que la version et les versions ultérieures sont 5ème édition ECMA-26. Cela ne signifie pas que les versions v8 avant 3.4.10 ont été purement 3e édition si, puisqu'il peut y avoir une transition constante de la 3ème à la 5ème à travers de nombreuses versions v8.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X