web-dev-qa-db-fra.com

Quelle est la différence entre JavaScript et JScript?

Je me suis toujours demandé QU'EST-CE QUE HecK?!? est la différence entre JScript et JavaScript.

110
Brian G

Juste des noms différents pour ce qui est vraiment ECMAScript. John Resig a un bonne explication .

Voici le détail de la version complète:

  • IE 6-7 prend en charge JScript 5 (ce qui équivaut à ECMAScript 3, JavaScript 1.5)
  • IE 8 prend en charge JScript 6 (ce qui équivaut à ECMAScript 3, JavaScript 1.5 - plus de corrections de bugs par rapport à JScript 5).
  • Firefox 1.0 prend en charge JavaScript 1.5 (équivalent ECMAScript 3)
  • Firefox 1.5 prend en charge JavaScript 1.6 (1.5 + Extras Array + E4X + misc.)
  • Firefox 2.0 prend en charge JavaScript 1.7 (1.6 + Generator + Iterators + let + misc.)
  • Firefox 3.0 prend en charge JavaScript 1.8 (1.7 + Expressions du Générateur + Fermetures d’expressions + divers.)
  • La prochaine version de Firefox supportera JavaScript 1.9 (1.8 + à déterminer)
  • Opera prend en charge un langage équivalent à ECMAScript 3 + Getters and Setters + misc.
  • Safari prend en charge une langue équivalente à ECMAScript 3 + Getters and Setters + misc.
78
Zach

Autant que je sache, deux choses:

  1. Constructeur ActiveXObject
  2. L'idiome f(x) = y, ce qui équivaut à peu près à f [x] = y.
37
Patrick

De Wikipedia: http://en.wikipedia.org/wiki/Jscript

JScript est le dialecte Microsoft de la spécification du langage de script ECMAScript.

JavaScript (implémentation Netscape/Mozilla de la spécification ECMA), JScript et ECMAScript sont des langages très similaires. En fait, le nom "JavaScript" est souvent utilisé pour désigner ECMAScript ou JScript.

Microsoft utilise le nom JScript pour son implémentation afin d'éviter les problèmes de marque ( JavaScript est une marque déposée de Oracle Corporation ).

21
casademora

Javascript, le langage, est venu en premier, de Netscape.

Microsoft a modifié le code Javascript et l’a appelé JScript pour éviter les problèmes de marque avec Sun. (Netscape et Sun étaient partenaires à l'époque, donc c'était moins un problème)

Les langues sont identiques, les deux sont des dialectes du script ECMA, la norme d'après-coup.

Bien que les langues soient identiques, étant donné que JScript s’exécute dans Internet Explorer, il a accès à différents objets exposés par le navigateur (tels que ActiveXObject)

7
Alan Storm

JScript est l'implémentation par Microsoft de la spécification ECMAScript. JavaScript est l'implémentation Mozilla de la spécification.

6
Thomas Owens

JScript est l'implémentation de Javascript par Microsoft

4
James Boother

Selon this article:

  • JavaScript est un langage de script développé par Netscape Communications et conçu pour le développement d'applications Internet clients et serveurs. Netscape Navigator est conçu pour interpréter le code JavaScript intégré dans les pages Web. JavaScript est indépendant du langage Java de Sun Microsystem).

  • Microsoft JScript est une implémentation ouverte du code JavaScript de Netscape. JScript est un langage de script hautes performances conçu pour créer du contenu en ligne actif pour le World Wide Web. JScript permet aux développeurs de lier et d'automatiser une grande variété d'objets dans des pages Web, y compris des contrôles ActiveX et des programmes Java. Microsoft Internet Explorer est conçu pour interpréter JScript incorporé dans des pages Web.

4
Christophe Herreman

Il y a longtemps, tous les fournisseurs de navigateurs fabriquaient des moteurs JavaScript pour leurs navigateurs et seuls eux et Dieu savaient ce qui se passait à l'intérieur. Un beau jour, ECMA international est venu et a dit: créons des moteurs basés sur des normes communes, faisons quelque chose de plus général pour rendre la vie plus facile et plus amusante, et ils ont établi cette norme. Étant donné que tous les fournisseurs de navigateurs font leurs moteurs JavaScript basés sur ECMAScript core (standard).

Par exemple, Google Chrome utilise un moteur V8. Il s'agit d'un logiciel libre. Vous pouvez le télécharger et voir comment le programme C++ traduit une commande "print" de JavaScript en code machine.

Internet Explorer utilise le moteur JScript (Chakra) pour son navigateur et d'autres le font, et ils utilisent tous un noyau commun.

3

Wikipedia a this à dire à propos des différences.

En général, JScript est un langage de script ActiveX qui est probablement interprété en tant que JavaScript par les navigateurs non IE.

1
erlando

Il faut connaître certaines différences de code.

Un premier paramètre négatif à subtr n'est pas pris en charge, par exemple. en Javascript: "string".substr(-1) renvoie "g", alors que dans JScript: "string".substr(-1) renvoie "chaîne"

Il est possible de faire "string"[0] obtenir "s" en Javascript, mais JScript ne supporte pas une telle construction. (En fait, seuls les navigateurs modernes semblent prendre en charge le "string"[0] construire.

0
Shiraz