2010-11-24 20 views
13

¿Qué pasaría si empiezo a definir mis etiquetas de script como ECMA? ¿Se ejecutará a un estándar diferente?¿Cuál es la diferencia entre JavaScript y script ECMA?

¿Alguien realmente utiliza script ECMA en lugar de Javascript directamente ...?

+2

No estoy seguro de si es un duplicado, pero esto se le preguntó hoy: http://stackoverflow.com/questions/4269150/what-is-ecmascript Aquí hay una pregunta con casi el mismo título: http: // stackoverflow .com/questions/912479/what-is-the-difference-between-javascript-and-ecmascript – user113716

+0

Preguntado y respondido: http://stackoverflow.com/questions/912479/what-is-the-difference-between-javascript -y-ecmascript –

+0

Aquí encontré un buen enlace que explica la diferencia entre JavaScript y ECMAScript: https://medium.freecodecamp.org/whats-the-difference-between-javascript-and-ecmascript-cba48c73a2b5 –

Respuesta

27

ECMAScript es un estándar. JavaScript es una implementación de ese estándar (edición 3 de ese estándar para ser más exactos).

Otras implementaciones de ECMAScript son ActionScript y JScript.

También tenga en cuenta que no hay uno JavaScript. Cada motor de JavaScript puede implementar su propia versión del lenguaje, siempre que cumpla con los requisitos de ECMAScript. Esto significa que los navegadores (motores JS) pueden tienen funcionalidad adicional, pero todos ellos deben tener tienen la funcionalidad básica ECMAScript.

Y ahora, para responder a su pregunta, de acuerdo con RFC 4329, si el tipo de medio se establece en application/ecmascript, en lugar de application/javascript, deberá atenerse a una norma más estricta.

Este documento define los requisitos de procesamiento equivalentes para los tipos text/javascript, texto/ECMAScript, y application/javascript. El uso de y el soporte para el tipo de medio application/ecmascript es considerablemente menos extendido que para otros medios tipos definidos en este documento. Usando que en su beneficio, este documento define reglas de procesamiento más estrictas para este tipo para fomentar el procesamiento más interoperable .

+0

No utilizar 'application/*' como tipo de script, IE se ahogará con eso. –

+0

Buen punto, pero quería usar 'application/*', en lugar de 'text/*', para cumplir con las recomendaciones de RFC. Los argumentos aún se aplican si reemplaza con 'text/*'. –

+0

No estoy siguiendo exactamente. ¿Es como decir que por estándar se entiende la sintaxis y el conjunto común de características (como una interfaz en java), y tal vez una implementación podría permitir cosas adicionales como, por ejemplo, lambdas, mientras que otra implementación no? –

3

ECMAScript es un estándar de lenguaje de programación, como lisp. Javascript es una implementación de tales, junto con características que no son ECMAScript como el DOM. ActionScript (para Flash) es otro. Al igual que escribir en "lisp" significa escribir en un dialecto como Common Lisp o Scheme, escribir ECMAScript directamente puede no ser inútil, sino inutilizable en los dialectos (aunque creo que ActionScript 3 y JavaScript reciente aplican todo el estándar ECMAScript) .

Cuestiones relacionadas