Published on

ECMAScript

Authors
  • avatar
    Name
    Diego Whiskey
    Twitter

A continuación, una descripción general de las diferentes versiones de ECMAScript y las características clave asociadas a cada una de ellas:

  1. ES1 (ECMAScript 1):

    • Introdujo la base del lenguaje JavaScript.
    • Proporcionó conceptos básicos como variables, funciones y estructuras de control.
  2. ES2 (ECMAScript 2):

    • Realizó correcciones menores y mejoras en la especificación original.
  3. ES3 (ECMAScript 3):

    • Añadió mejor soporte para caracteres no latinos y literales de cadena.
    • Introdujo nuevas funciones como try...catch, do...while, y objetos nativos como JSON.
  4. ES4 (Versión abandonada):

    • Esta versión sufrió cambios significativos en la especificación, pero nunca se implementó por completo en los navegadores debido a su complejidad.
  5. ES5 (ECMAScript 5):

    • Introdujo características importantes como métodos de arreglo (forEach, map, etc.).
    • Soporte para objetos getters y setters.
    • Uso de strict mode para escribir código más seguro.
  6. ES6 (ECMAScript 2015):

    • Una de las actualizaciones más importantes.
    • Introdujo clases, arrow functions, destructuring, y let/const para declarar variables.
    • Promesas para trabajar con asincronía.
    • Módulos para organizar el código.
    • Template literals para cadenas de texto más flexibles.
    • Ampliación de los objetos con Object.assign.
  7. ES7 (ECMAScript 2016):

    • Introdujo el operador de exponente **.
    • Array.prototype.includes para verificar si un elemento existe en un arreglo.
  8. ES8 (ECMAScript 2017):

    • Introdujo async/await para simplificar la programación asíncrona.
    • Object.entries y Object.values para trabajar con objetos de manera más eficiente.
  9. ES9 (ECMAScript 2018):

    • Introdujo características como descanso/spread para objetos y cadenas.
    • Promise.finally para manejar lógica después de que una promesa se resuelva o sea rechazada.
  10. ES10 (ECMAScript 2019):

    • Introdujo Array.flat() y Array.flatMap() para trabajar con arreglos multidimensionales.
    • Object.fromEntries() para convertir una lista de pares clave-valor en un objeto.
  11. ES11 (ECMAScript 2020):

    • Introdujo características como Optional Chaining y Nullish Coalescing para manejar de manera más segura las propiedades nulas o indefinidas.
    • Promise.allSettled para esperar a que todas las promesas se resuelvan o rechacen.
  12. ECMAScript 12 (2021):

    • La duodécima versión de ECMAScript se lanzó en 2021.
    • Agregó soporte para Promise.any(), WeakRefs, Logical Assignment Operators y String.prototype.replaceAll().
  13. ECMAScript 13 (2022):

    • La decimotercera versión de ECMAScript se lanzó en 2022.
    • Agregó soporte para el operador pipeline (|>), WeakRefs finalization registry y String.prototype.at().
  14. ECMAScript 14 (2023):

    • La decimocuarta versión de ECMAScript se lanzó en junio de este año.
    • Agregó soporte para record & tuple types, match expressions, top-level await y otras características nuevas.

Cada nueva versión de ECMAScript introduce características y mejoras para hacer que JavaScript sea más poderoso y eficiente. Los navegadores modernos ofrecen soporte para las últimas versiones de ECMAScript, lo que permite a los desarrolladores aprovechar al máximo estas características en sus aplicaciones web.

ECMAScript es un estándar para lenguajes de scripting, incluyendo JavaScript, JScript y ActionScript. Es mejor conocido como un estándar de JavaScript destinado a garantizar la interoperabilidad de las páginas web en diferentes navegadores web. Está estandarizado por Ecma International en el documento ECMA-262. ECMAScript es una especificación del lenguaje que define cómo debería funcionar JavaScript y cómo debería comportarse en los navegadores web. El desarrollo de ECMAScript comenzó en 1996 y se basó en el popular lenguaje JavaScript propuesto como un estándar por Netscape Communications Corporation. ECMAScript define un lenguaje de tipo dinámico que está ligeramente inspirado en Java y otros lenguajes de estilo C. Admite algunas características de programación orientada a objetos a través de objetos basados en prototipos y pseudoclases. La mayoría de los navegadores web incluyen una implementación del estándar ECMAScript, así como acceso al Document Object Model para manipular páginas web. JavaScript se implementa en la mayoría de los navegadores, mientras que Internet Explorer de Microsoft utiliza JScript. El navegador Opera tenía su propio intérprete ECMAScript con extensiones para admitir algunas características de JavaScript y JScript, pero actualmente, Opera se basa en Chromium (y utiliza su intérprete). Cada navegador tiene sus propias extensiones al estándar ECMAScript, pero cualquier código que cumpla con el estándar debería funcionar en todos ellos.