ECMAScript

ECMAScript
Información general
Paradigma Multiparadigma: prototipado, funcional, imperativo
Apareció en 01 de enero de 1997 (19 años, 11 meses y 4 días)
Diseñado por Brendan Eich, Ecma International
Implementaciones SpiderMonkey, V8, ActionScript, JScript, QtScript, InScript
Influido por Self, HyperTalk, AWK, C, Perl, Python, Java, Scheme
[ editar datos en Wikidata]
ECMAScript
Crystal source.png
Desarrollador
Sun Microsystems,
Ecma International
ECMA-262, ECMA-290,
ECMA-327, ECMA-357,
ECMA-402
Información general
Extensión de archivo .es
Tipo de MIME application/ecmascript
Lanzamiento inicial 1 de junio de 1997 (19 años, 6 meses y 4 días)
Última versión Edición 6
17 de junio de 2015 (1 año, 5 meses y 18 días)
Tipo de formato Lenguaje de scripting
Formato abierto ?
[ editar datos en Wikidata]

ECMAScript es una especificación de lenguaje de programación publicada por ECMA International. El desarrollo empezó en 1996 y estuvo basado en el popular lenguaje JavaScript propuesto como estándar por Netscape Communications Corporation. Actualmente está aceptado como el estándar ISO 16262.

ECMAScript define un lenguaje de tipos dinámicos ligeramente inspirado en Java y otros lenguajes del estilo de C. Soporta algunas características de la programación orientada a objetos mediante objetos basados en prototipos y pseudoclases.

La mayoría de navegadores de Internet incluyen una implementación del estándar ECMAScript, al igual que un acceso al Document Object Model para manipular páginas web. JavaScript está implementado en la mayoría de navegadores, Internet Explorer de Microsoft usa JScript. El navegador Opera tiene su propio intérprete de ECMAScript con extensiones para soportar algunas características de JavaScript y JScript. Cada navegador tiene extensiones propias al estándar ECMAScript, pero cualquier código que se adecúe al estándar debería funcionar en todos ellos.

ActionScript, para Adobe Flash, también está basado en el estándar ECMAScript, con mejoras que permiten mover, crear y analizar dinámicamente objetos, mientras la película está en ejecución.

Desde el lanzamiento en junio de 1997 del estándar ECMAScript 1, han existido las versiones 2, 3 y 5, que es la más usada actualmente (la 4 se abandonó [2] .

Historia

ECMAScript es una especificación estándar de un lenguaje desarrollado por Brendan Eich, empleado en Netscape; inicialmente se llamaba Mocha, luego LiveScript, y finalmente Javascript.[4] En marzo de 1996, Netscape Navigator 2.0 fue lanzado con soporte para JavaScript.

Debido al gran éxito de Javascript como lenguaje de scripting del lado del cliente para páginas web, Microsoft desarrollo un dialecto compatible del lenguaje, llamado JScript, para evitar problemas legales con la marca. JScript agregó nuevos métodos para las fechas, para aliviar los problemas del año 2000 ( Y2K), causados en parte por que los métodos de Javascript estaban basados en las clases Date de Java.[5] JScript fue incluido en Internet Explorer 3.0, lanzado en agosto de 1996.

Netscape envió el borrador de JavaScript a Ecma International para su estandarización y para que trabajasen sobre su especificación ECMA-262, que comenzó en noviembre de 1996.[7]

A pesar de que ambas especificaciones, tanto JavaScript y JScript, apuntan a ser compatibles con ECMAScript, también proveen características adicionales, no descritas en la especificaciones de ECMA. [ cita requerida]


Versiones

Hay seis versiones de ECMA-262 publicadas. El trabajo sobre la versión 6 del estándar, nombre código "Harmony", fue finalizada en junio de 2015.[8]

Edición Fecha de publicación Cambios desde la edición anterior Editor
1 Junio de 1997 Primera edición Guy L. Steele, Jr.
2 Junio de 1998 Cambios editorales para mantener la especificación completa alineada con el estándar internacional ISO/IEC 16262 Mike Cowlishaw
3 Dicembre de 1999 Se agregaron expresiones regulares, mejor manejo de strings, nuevo control de declaraciones, manejo de excepciones con try/catch, definición más estricta de errores, formato para la salida numérica y otras mejoras. Mike Cowlishaw
4 Abandonado La cuarta edición fue abandonada debido a diferencias políticas respecto a la complejidad del lenguaje. Muchas características propuestas para la cuarta edición fueron completamente abandonadas; algunas fueron propuestas para la edición ECMAScript Harmony.
5 Diciembre de 2009 Agrega el modo estricto ("strict mode"), un subconjunto destinado a proporcionar una mejor comprobación de errores y evitar constructores propensos a errores. Aclara varias ambigüedades de la tercera edición, y afina el comportamiento de las implementaciones del "mundo real" que difieren consistentemente desde esa especificación. Agrega algunas nuevas características, como getters y setters, librería para el soporte de JSON, y una más completa reflexión sobre las propiedades de los objetos.[9] Pratap Lakshman, Allen Wirfs-Brock
5.1 Junio de 2011 Esta edición 5.1 de la ECMAScript Standard está completamente alineada con la tercera edición del estándar internacional ISO/IEC 16262:2011. Pratap Lakshman, Allen Wirfs-Brock
6 Junio de 2015[10] La sexta edición agrega cambios significativos en la sintaxis para escribir aplicaciones complejas, incluyendo clases y módulos, definiéndolos sémanticamente en los mismos términos del modo estricto de la edición ECMAScript 5. Otras nuevas características incluyen iteradores for/of loops, generadores y generador de expresiones estilo Python, funciones de dirección, datos binarios, colecciones (mapas, sets, mapas débiles), y proxies (?metaprogramación para objetos virtuales y wrappers). Al ser la primera especificación “ECMAScript Harmony”, es también conocida como “ES6 Harmony”. Allen Wirfs-Brock
7 En progreso La séptima edición está en una etapa muy temprana de desarrollo, pero está orientada a continuar con la reforma del lenguaje, aislamiento de códigos, control de efectos y librerías/herramientas habilitadas desde ES6. Nuevas características propuestas incluyen promesas/concurrencia, matemáticas y datos numéricos mejorados, guards y trademarks (una alternativa al tipado estático), sobrecarga de operadores, value types (first-class number-like objects), nuevas estructuras de registro (registros, tuples y vectores tipados), pattern matching, y traits.[11]

En junio de 2004, Ecma International publicó el estándar ECMA-357, definiendo una extensión de ECMAScript, conocida como ECMAScript para XML (E4X). Ecma también definió un "Perfil compacto" para ECMAScript – conocida como ES-CP, o ECMA 327 – que fue diseñado para dispositivos con recursos limitados, pero se descartó y la retiraron en 2015.[12]

Other Languages
български: ECMAScript
català: ECMAScript
čeština: ECMAScript
dansk: ECMAScript
Deutsch: ECMAScript
English: ECMAScript
eesti: ECMAScript
français: ECMAScript
magyar: ECMAScript
íslenska: ECMAScript
italiano: ECMAScript
日本語: ECMAScript
한국어: ECMA스크립트
Bahasa Melayu: ECMAScript
Nederlands: ECMAScript
norsk bokmål: ECMAScript
polski: ECMAScript
português: ECMAScript
русский: ECMAScript
svenska: Ecmascript
Türkçe: ECMAScript
українська: ECMAScript
Yorùbá: ECMAScript
中文: ECMAScript