javascript - es6 - w3 ecmascript




¿Cuál es la diferencia entre JavaScript y ECMAScript? (12)

JavaScript = ECMAScript + DOM API ;

  • La especificación de lenguaje ECMAScript® define toda la lógica para crear y editar objetos, matrices, números, etc.

  • La API DOM permite la comunicación con documentos HTML / XML (por ejemplo, document.getElementById('id'); ).

Historial de nombres de JavaScript:

Mocha ► LiveScript ► JavaScript ► (parte de JS resultó en) ECMA-262 ► ECMAScript ► JavaScript (consiste en ECMAScript + DOM API)

¿Cuál es la diferencia entre ECMAScript y JavaScript? De lo que deduje, ECMAScript es el estándar y JavaScript es la implementación. ¿Es esto correcto?


A mi entender, ECMAScript es la "Teoría" o "Especificación", y Javascript es "Prácticas" o "Implementación".


Creo que se debe una pequeña lección de historia.

JavaScript se llamó originalmente Mocha y se cambió a Livescript, pero finalmente se convirtió en JavaScript.

Es importante tener en cuenta que JavaScript llegó antes de ECMAscript y la historia le dirá por qué.

Para comenzar desde el principio, JavaScript obtuvo su nombre de Java y, inicialmente, se le pidió a Brendan Eich (el creador de JS) que desarrollara un lenguaje que se parecía a Java para la web de Netscape.

Sin embargo, Eich decidió que Java era demasiado complicado con todas sus reglas y se propuso crear un lenguaje más simple que incluso un principiante podría codificar. Esto es evidente en cosas como la relajación de la necesidad de tener un punto y coma.

Una vez que se completó el lenguaje, el equipo de marketing de Netscape solicitó a Sun que les permitiera nombrarlo como un truco de marketing y, por lo tanto, la mayoría de las personas que nunca han usado JavaScript piensan que está relacionado con Java.

Aproximadamente un año o dos después del lanzamiento de JavaScript en el navegador, el IE de Microsoft tomó el lenguaje y comenzó a realizar sus propias implementaciones, como JScript. Al mismo tiempo, IE estaba dominando el mercado y no mucho después de que Netscape tuvo que cerrar su proyecto.

Antes de que Netscape cayera, decidieron comenzar un estándar que guiaría la ruta de JavaScript, llamada ECMAScript.

ECMAScript tuvo algunos lanzamientos y en 1999 lanzaron su última versión (ECMAScript 3) antes de entrar en hibernación durante los próximos 10 años. Durante estos 10 años, Microsoft dominó las escenas, pero al mismo tiempo no estaban mejorando su producto y, por lo tanto, nació Firefox (dirigido por Eich) y un montón de otros navegadores como Chrome, Opera.

ECMAScript lanzó su 5ta edición en 2009 (la 4ta edición fue abandonada) con características como el modo estricto. Desde entonces, ECMAScript ha ganado mucho impulso y está programado para lanzar su 6ª Edición en unos meses a partir de ahora con los cambios más grandes que ha tenido hasta ahora.

Puede usar una lista de características para ECMAScript 6 aquí http://kangax.github.io/es5-compat-table/es6/ y también la compatibilidad con el navegador. Incluso puede comenzar a escribir Ecmascript 6 como lo hace con CoffeeScript y usar un compilador para compilar hasta Ecmascript 5.

Si ECMAScript es el idioma y JavaScript es un dialecto es discutible, pero no importante. Si sigues pensando así, podría confundirte. No hay ningún compilador por ahí que ejecute ECMAScript, y creo que JavaScript se considera el idioma que implementa un estándar llamado ECMAScript.

También hay otros lenguajes visibles que implementan ECMAScript como ActionScript (usado para Flash)


Dudo que alguna vez usaríamos la palabra "ECMAScript" si no fuera por el hecho de que el nombre "JavaScript" es propiedad de Sun. Para todos los efectos, el lenguaje es JavaScript. No vas a la librería en busca de libros de ECMAScript, ¿verdad?

Es un poco demasiado simple decir que "JavaScript" es la implementación. JScript es la implementación de Microsoft.


ECMAScript no es más que un estándar o especificación definida para crear diferentes lenguajes de scripting y uno de ellos es JavaScript. Ha sido creado con el único propósito de la compatibilidad entre navegadores.

Un estándar garantiza que si alguien escribe un código siguiendo las reglas del estándar, entonces el código funcionará bien en un navegador (en caso de javascript) si el navegador implementa el mismo estándar.

¿Por qué necesitamos un estándar?

Cuando Javascript fue creado por primera vez por Netscape, hubo una guerra entre todos los proveedores de navegadores en el mercado. Microsoft implementó su propia versión de javascript en internet explorer. Del mismo modo otros proveedores de navegadores implementaron sus propias versiones.

Todo esto creó un gran problema para los desarrolladores. Un código funcionó bien en Netscape pero fue un desperdicio total en Internet Explorer. Para resolver la compatibilidad entre navegadores, Javascript fue estandarizado por ECMA internacional; De ahí el nombre ECMAscript.

Todos los browers acordaron implementar ECMAscript (aunque tomó mucho tiempo).

El resultado es que ahora el mismo código funciona bien en todos los navegadores.

La excepción es DOM (modelo de objeto de documento). DOM todavía se interpreta de diferentes maneras en diferentes navegadores. Sin embargo, hay buenas noticias . Lentamente todos los navegadores se adhieren al mismo estándar DOM.


JavaScript es un lenguaje ECMAScript.

ECMAScript no es necesariamente JavaScript.


Javascript fue el nombre original, destinado a capitalizar la popularidad de Java. ECMA es el organismo de estándares que supervisa el estándar que finalmente se implementó, por lo que los nombres son aproximadamente equivalentes.

Las implementaciones tienen otros nombres, como V8 o Rhino, etc.


Las respuestas existentes parafrasean el punto principal bastante bien.

El punto principal es que ECMAScript es el lenguaje abstracto simple, sin ninguna extensión de dominio específico, es inútil en sí mismo. La ECMAScript define solo el lenguaje y los objetos centrales de la misma.

Mientras que JavaScript y ActionScript y otros dialectos le agregan la biblioteca específica del dominio, así que puedes usarlo para algo significativo.

Hay muchos motores ECMAScript , algunos de ellos son de código abierto, otros son propietarios. Puede vincularlos a su programa y luego agregar sus funciones nativas al objeto global para que su programa se convierta en un script. Aunque la mayoría de las veces se utilizan en los navegadores.


Técnicamente, ECMAScript es el lenguaje que todos usan e implementan, es la especificación creada hace muchos años cuando Netscape y Microsoft se sentaron e intentaron estandarizar las secuencias de comandos entre JavaScript (lenguaje de scripts de Netscape) y JScript (Microsoft).

Posteriormente, todos estos motores están implementando ostensiblemente ECMAScript, sin embargo, JavaScript (el nombre) ahora cuelga por ambas razones de denominación tradicionales, y como un término de mercadeo de Mozilla para sus diversas extensiones no estándar (que quieren poder realmente "versión" )


Varias versiones de JavaScript son implementaciones del estándar ECMAScript.


ECMAScript = ES:

  • ECMAScript es un estándar para lenguajes de scripting.

  • Los lenguajes como Javascript están basados ​​en el estándar ECMAScript.

  • El estándar ECMA se basa en varias tecnologías de origen, la más conocida es JavaScript (Netscape) y JScript (Microsoft).

  • ECMA significa Asociación Europea de Fabricantes de Computadoras

JavaScript = JS:

  • JavaScript es la implementación más popular del estándar ECMAScript.

  • Las características principales de Javascript se basan en el estándar ECMAScript, pero Javascript también tiene otras características adicionales que no están en las especificaciones / estándar de ECMA.

  • ActionScript y JScript son otros lenguajes que implementan el ECMAScript.

  • JavaScript fue enviado a ECMA para su estandarización, pero debido a problemas de marcas registradas con el nombre de Javascript, el estándar se llamó ECMAScript.

  • Cada navegador tiene un intérprete de JavaScript.

ES5 = ECMAScript 5:

  • ES5 es una versión de ECMAScript (antigua / actual).

  • ES5 es el JavaScript que usted conoce y usa en el navegador hoy.

  • ES5 no requiere un paso de compilación (transpilers) para transformarlo en algo que se ejecute en los navegadores de hoy.

  • La versión 5 de ECMAScript se terminó en diciembre de 2009, las últimas versiones de todos los principales navegadores (Chrome, Safari, Firefox e IE) han implementado la versión 5.

  • La versión 5.1 se terminó en junio de 2011.

ES6 = ECMAScript 6 = ES2015 = ECMAScript 2015:

  • ES2015 es una versión de ECMAScript (nueva / futura).

  • Oficialmente, debe utilizarse el nombre ES2015 en lugar de ES6.

  • ES6 abordará muchas de las deficiencias del lenguaje central abordadas en TypeScript y CoffeeScript.

  • ES6 es la siguiente iteración de JavaScript, pero no se ejecuta en los navegadores de hoy.

  • Hay bastantes transpilers que exportarán ES5 para ejecutarse en los navegadores.

BabelJS:

  • BabelJS es el transpiler más popular que transforma el nuevo JavaScript ES6 en el antiguo JavaScript ES5.

  • BabelJS hace posible escribir la próxima generación de JavaScript hoy (significa ES2015).

  • BabelJS simplemente toma el archivo ES2015 y lo transforma en un archivo ES5.

  • Las versiones actuales de los navegadores ahora pueden entender el nuevo código JavaScript (ES2015), incluso si aún no lo admiten.

TypeScript y CoffeeScript:

  • Ambos proporcionan azúcar sintáctica sobre ES5 y luego se compilan en JavaScript compatible con ES5.

  • Usted escribe TypeScript o CoffeeScript, luego el transpiler lo transforma en ES5 JavaScript.


ECMAScript es un estándar para JavaScrip t, mire estas declaraciones de MDN :

JavaScript

JavaScript (JS) es un lenguaje de programación ligero interpretado o compilado en JIT con funciones de primera clase. Si bien es más conocido como el lenguaje de scripting para páginas web, muchos entornos que no son de navegador también lo utilizan, como node.js, Apache CouchDB y Adobe Acrobat. JavaScript es un lenguaje dinámico basado en prototipos, multi paradigma y soporta estilos orientados a objetos, imperativos y declarativos (por ejemplo, programación funcional). Leer más sobre JavaScript.

ECMAScript

El estándar para JavaScript es ECMAScript . A partir de 2012, todos los navegadores modernos son totalmente compatibles con ECMAScript 5.1. Los navegadores más antiguos son compatibles con al menos ECMAScript 3. El 17 de junio de 2015, ECMA International publicó la sexta versión principal de ECMAScript, que oficialmente se llama ECMAScript 2015, y que inicialmente se llamó ECMAScript 6 o ES6. Desde entonces, los estándares de ECMAScript están en ciclos de publicación anuales. Esta documentación hace referencia a la última versión preliminar, que actualmente es ECMAScript 2018.

Para más información, visite here





ecma262