¿Cuál es la diferencia entre JavaScript y JScript?


117

Siempre me he preguntado ¿¡¿QUÉ PUEDE?!? es la diferencia entre JScript y JavaScript.


Estoy seguro de que ya se ha señalado, pero IE, no puede usar constpalabras clave para declarar variables: const MY_CONSTANT = 10;
dplante

Respuestas:


82

Solo nombres diferentes para lo que realmente es ECMAScript. John Resig tiene una buena explicación .

Aquí está el desglose de la versión completa:

  • IE 6-7 admite JScript 5 (que es equivalente a ECMAScript 3, JavaScript 1.5)
  • IE 8 es compatible con JScript 6 (que es equivalente a ECMAScript 3, JavaScript 1.5; más correcciones de errores en JScript 5)
  • Firefox 1.0 es compatible con JavaScript 1.5 (equivalente a ECMAScript 3)
  • Firefox 1.5 es compatible con JavaScript 1.6 (1.5 + Array Extras + E4X + misc.)
  • Firefox 2.0 es compatible con JavaScript 1.7 (1.6 + Generador + Iteradores + let + misc.)
  • Firefox 3.0 es compatible con JavaScript 1.8 (1.7 + Generator Expressions + Expression Closures + misc.)
  • La próxima versión de Firefox admitirá JavaScript 1.9 (1.8 + Por determinar)
  • Opera admite un lenguaje que es equivalente a ECMAScript 3 + Getters y Setters + misc.
  • Safari admite un idioma que es equivalente a ECMAScript 3 + Getters y Setters + misc.

15
Esto está mal. JScript admite algunas funciones de sintaxis que no están presentes en JavaScript, como f(x) = y. Consulte esta pregunta para obtener más información.
Asad Saeeduddin

4
@Malachi No es necesario. La respuesta de Patrick es correcta.
Asad Saeeduddin

38

Por lo que puedo decir, dos cosas:

  1. Constructor de ActiveXObject
  2. El modismo f (x) = y, que es aproximadamente equivalente a f [x] = y.

5
¡El f(x) = yidioma me molesta más! ¿Por qué, oh, por qué no se fueron con f[x] = y...
Ates Goral

2
MS necesitaba agregar su sello en esta era. Así es como sabes que es bueno.
cchamberlain

21

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

JScript es el dialecto de Microsoft de la especificación del lenguaje de secuencias de comandos ECMAScript.

JavaScript (la implementación de Netscape / Mozilla de la especificación ECMA), JScript y ECMAScript son lenguajes muy similares. De hecho, el nombre "JavaScript" se utiliza a menudo para referirse a ECMAScript o JScript.

Microsoft usa el nombre JScript para su implementación para evitar problemas de marcas comerciales ( JavaScript es una marca comercial de Oracle Corporation ).


7
Esto no responde la pregunta en absoluto. La pregunta es: "¿Cuáles son las diferencias entre JavaScript y JScript?". La respuesta correcta está enterrada bajo varias reiteraciones de lo mismo.
Asad Saeeduddin

7

JScript es la implementación de Microsoft de la especificación ECMAScript. JavaScript es la implementación de Mozilla de la especificación.


7

Javascript, el lenguaje, vino primero, de Netscape.

Microsoft realizó ingeniería inversa de Javascript y lo llamó JScript para evitar problemas de marcas registradas con Sun. (Netscape y Sun se asociaron en ese momento, por lo que esto fue un problema menor)

Los idiomas son idénticos, ambos son dialectos de la escritura ECMA, el estándar posterior a los hechos.

Aunque los lenguajes son idénticos, dado que JScript se ejecuta en Internet Explorer, tiene acceso a diferentes objetos expuestos por el navegador (como ActiveXObject)


10
Ninguno de los idiomas es realmente idéntico, como se describe en otra publicación.
EFraim


4

Según este artículo:

  • JavaScript es un lenguaje de programación desarrollado por Netscape Communications diseñado para desarrollar aplicaciones de Internet de cliente y servidor. Netscape Navigator está diseñado para interpretar JavaScript incrustado en páginas web. JavaScript es independiente del lenguaje Java de Sun Microsystem.

  • Microsoft JScript es una implementación abierta de JavaScript de Netscape. JScript es un lenguaje de secuencias de comandos de alto rendimiento diseñado para crear contenido activo en línea para la World Wide Web. JScript permite a los desarrolladores vincular y automatizar una amplia variedad de objetos en páginas web, incluidos controles ActiveX y programas Java. Microsoft Internet Explorer está diseñado para interpretar JScript incrustado en páginas web.


2
@phrj: esta es la definición de Humpty Dumpty de "Abierto". AFAIK, significa "ortogonal".
Shog9

7
Llamar a JScript de "alto rendimiento" en la era anterior a V8 hace que uno se dé cuenta de lo lejos que hemos llegado.
Ray Toal

6
El segundo elemento de la lista parece material publicitario: "implementación abierta" en realidad significa "debe tener la mente abierta para aceptarlo", y "alto rendimiento" significa "diseñado para ejecutarse en una máquina de alto rendimiento".
Camilo Martin

4

Hace mucho tiempo, todos los proveedores de navegadores estaban creando motores de JavaScript para sus navegadores y solo ellos y Dios sabían lo que estaba sucediendo dentro de esto. Un hermoso día, ECMA International vino y dijo: hagamos motores basados ​​en un estándar común, hagamos algo general para hacer la vida más fácil y divertida, y ellos hicieron ese estándar. Dado que todos los proveedores de navegadores hacen sus motores de JavaScript basados ​​en ECMAScript core (estándar).

Por ejemplo, Google Chrome usa un motor V8 y este es de código abierto. Puede descargarlo y ver cómo el programa C ++ traduce un comando 'imprimir' de JavaScript a código de máquina.

Internet Explorer usa el motor JScript (Chakra) para su navegador y otros lo hacen y todos usan un núcleo común.


2

Wikipedia tiene esto que decir sobre las diferencias.

En general, JScript es un lenguaje de programación ActiveX que probablemente los navegadores que no son IE interpreten como JavaScript.


1

Hay algunas diferencias de código a tener en cuenta.

No se admite un primer parámetro negativo para subtr, por ejemplo, en Javascript: "string".substr(-1)devuelve "g", mientras que en JScript: "string".substr(-1)devuelve "cadena"

Es posible hacerlo "string"[0]para obtener "s" en Javascript, pero JScript no admite dicha construcción. (En realidad, solo los navegadores modernos parecen admitir la "string"[0]construcción.


-5

Jscript es un lenguaje .NET similar a C #, con las mismas capacidades y acceso a todas las funciones .NET.

JavaScript se ejecuta en el servidor ASP Classic. Utilice ASP clásico para ejecutar el mismo JavaScript que tiene en el Cliente (excluidas las capacidades HTML5). Solo tengo un conjunto de código de esta manera para la mayor parte de mi código.

Ejecuto .ASPX JScript cuando necesito funciones de imagen y archivo binario, (entre muchas otras) que no están en ASP clásico. Este código es único para el servidor, pero extremadamente poderoso.


7
Creo que estás pensando en JScript.Net
Lankymart

-7

JScript es el equivalente de Microsoft a JavaScript .
Java es un producto de Oracle y solía ser un producto de Sun.

Oracle compró Sun .

JavaScript + Microsoft = JScript


14
¡Ten cuidado con los negritos!
Jowen

¿Por qué Java? Querías decir JavaScript.
Stack0verflow

Una nota importante para cualquiera que no lo sepa: JavaScript y Java no son lo mismo ni están relacionados de ninguna manera. JavaScript se llamó originalmente LiveScript. Pero renombrado a JavaScript para capitalizar la popularidad de Java. Compartir el nombre es la extensión de lo que tienen en común, además de las similitudes con C como lenguajes de sintaxis.
Bacon Brad
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.