ES6 en Detalle: Introducción

25 julio, 2015 23:33 por

Esta es una traducción del artículo original publicado en el blog de Mozilla Hacks.

¡Bienvenido a ES6 en Detalle! En esta nueva serie, vamos a explorar el ECMAScript 6, la nueva edición del lenguaje JavaScript. ES6 contiene muchas nuevas características de lenguaje que harán al JS más poderoso y expresivo, y las visitaremos en futuras publicaciones. Pero antes de empezar con los detalles, vale la pena tomar un minuto para hablar sobre qué es ES6 y qué es lo que puedes esperar.

¿Cuál es el ámbito del ECMAScript?

El lenguaje de programación JavaScript está estandarizado por ECMA (un grupo de estándares como la W3C) bajo el nombre ECMAScript. Entre otras cosas, ECMAScript define:

Lo que no define es nada que tenga que ver con HTTML o CSS, o APIs web, como el DOM (Document Object Model). Éstos están definidos en estándares separados. ECMAScript cubre los aspectos del JS que están presentes no solo en el navegador, sino también en ambientes donde no hay navegador como node.js.

El nuevo estándar

En abril de este año, la revisión final de la Especificación de Lenguaje ECMAScript, Edición 6, fue enviada a la Asamblea General ECMA para revisión. ¿Qué significa?

Significa que este año tendremos un nuevo estándar para el lenguaje de programación JavaScript. Éstas son grandes noticias. Un nuevo estándar del lenguaje JS no llega todos los días. El último, ES5, sucedió en el 2009. El comité de estándares ES ha estado trabajando en ES6 desde entonces.

ES6 es una mejoría importante para el lenguaje. Al mismo tiempo, todo tu código JS continuará funcionando. ES6 fue diseñado para máxima compatibilidad con código existente. En efecto, muchos navegadores ya tienen soporte para varias características de ES6, y los esfuerzos de implementación siguen en camino. Esto significa que tu código JS ya está ejecutándose en navegadores que implementan características de ES6. Si no has tenido ningún problema de compatibilidad hasta ahora, probablemente nunca lo tendrás.

Contando hasta 6

Las ediciones anteriores del estándar ECMAScript se numeraron 1, 2, 3 y 5.

¿Qué pasó con la edición 4? Un ECMAScript Edición 4 se planeó alguna vez – y de hecho mucho trabajo se hizo en él – pero fue eventualmente descartado por ser muy ambicioso. (Tenía, por ejemplo, un sofisticado sistema opcional de tipos estáticos con genéricos e inferencia de tipos.)

ES4 fue contencioso. Cuando el comité de estándares finalmente terminó de trabajar en él, los miembros del comité acordaron publicar un relativamente modesto ES5 y luego proceder a trabajar en características más sustanciales. Este acuerdo explícito que se negoció se llamó Harmony (armonía), y es por esto que la especificación ES5 tiene estas dos oraciones:

ECMAScript es un lenguaje vibrante y la evolución del lenguaje no se ha completado. Mejoras técnicas significantes continuarán en futuras ediciones de esta especificación.

Esta afirmación se puede ver como un tipo de promesa.

Promesas resueltas

ES5, la actualización del lenguaje del 2009, introdujo Object.create(), Object.defineProperty(), getters y setters, modo estricto, y el objeto JSON. He usado todas estas características, y me gusta lo que el ES5 hizo para el lenguaje. Pero sería mucho decir que alguna de estas características tuvo un impacto dramático en la manera que escribo código JS. La innovación más importante para mí fue probablemente los nuevos métodos de Array: .map(), .filter(), y otros.

Bueno, ES6 es diferente. Es el producto de años de trabajo armonioso. Y es una mina de nuevas características del lenguaje y la librería; la más sustancial mejora del JS jamás hecha. Las nuevas características varía desde conveniencias bienvenidas como funciones arrow (de flecha) e interpolación simple de cadenas de texto, hasta conceptos que derriten cerebros como proxies y generadores.

ES6 cambiará la manera en que escribes código JS.

Esta serie busca mostrarte cómo, examinando las nuevas características que el ES6 le ofrece a programadores JavaScript.

 

The following two tabs change content below.

jorgev

AMO Product Manager at Mozilla
Jorge trabaja para el equipo de complementos de Mozilla, y se dedica a Mozilla Hispano y Mozilla Costa Rica en su tiempo libre. Actualmente está encargado del blog de Mozilla Hispano Labs.

Compartir artículo:

Start the discussion at foro.mozilla-hispano.org

  • ¡Participa!

    Firefox Friends »
    Agrega botones de Firefox en tu sitio web y comparte tu amor por Mozilla Firefox.
    Ayuda a otros usuarios en Twitter.
    Colabora con la comunidad »
    En Mozilla lo importante son las personas. Descubre cómo puedes colaborar.

    Boletín Firefox

    Suscríbete al boletín de novedades de Firefox.

  • Descargas

    Descarga los programas de Mozilla.

    Lo más visto

    cc-by-sa