fbpx
Wikipedia

ECMAScript

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/IEC 22275:2018.

ECMAScript
Brendan Eich
https://ecma-international.org/
Información general
Extensiones comunes es
Paradigma Multiparadigma: prototipado, funcional, imperativo
Apareció en 01 de enero de 1997 (24 años, 7 meses y 8 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
ECMAScript
Desarrollador
Sun Microsystems,
Ecma International

ECMA-262, ECMA-290,
ECMA-327, ECMA-357,
[http://www.ecma-international.org/publications/standards/Ecma-404.htm

ECMA-404 
]
Información general
Extensión de archivo .es
Tipo de MIME application/ecmascript
Lanzamiento inicial 1 de junio de 1997 (24 años, 2 meses y 8 días)
Última versión Edición 7ª
1 de junio de 2016 (5 años, 2 meses y 8 días)[1]
Tipo de formato Lenguaje de scripting
Extendido de JavaScript y JScript
Formato abierto ?

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 tenía su propio intérprete de ECMAScript con extensiones para soportar algunas características de JavaScript y JScript, actualmente Opera está basado en Chromium (y utiliza su intérprete). 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]​). En junio de 2015 se cerró y publicó la versión ECMAScript 6.[3]

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 diciembre de 1995, Sun Microsystems y Netscape anunciaron JavaScript en una conferencia de prensa.[5]​ 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 desarrolló 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 porque los métodos de Javascript estaban basados en las clases Date de Java.[6]​ 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]​ La primera edición de ECMA-262 fue adoptada por asamblea general de Ecma en junio de 1997. Varias ediciones del lenguaje estándar han sido publicadas desde entonces. El nombre "ECMAScript" fue un compromiso entre las organizaciones involucradas en la estandarización del lenguaje, especialmente entre Netscape y Microsoft, que se disputaron el dominio de las primeras sesiones estándar. Eich comentó que "ECMAScript fue siempre un nombre de marca indeseado, que sonaba como una enfermedad de la piel."[8]

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 once versiones de ECMA-262 publicadas. El trabajo sobre la versión 11 del estándar fue finalizada en junio de 2020.[9]

Allen Wirfs-Brock: ECMA-262, Project Editor, 6th Edition & Brian Terlson: ECMA-262, Project Editor, 7th through 10th Editions [10]

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 editoriales para mantener la especificación completa alineada con el estándar internacional ISO/IEC 16262 Mike Cowlishaw
3 Diciembre 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.[11] 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[12] 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 Junio de 2016 La séptima edición fue una mera actualización de la versión 6. Incorpora el método Array.prototype.includes() y el operador exponencial (**). Brian Terlson
8 Junio de 2017 La 8ª edición, oficialmente conocida como ECMAScript 2017, fue finalizada en junio de 2017.[11] Incluye constructores async/await , los cuales funcionan usando generadores y promesas. Brian Terlson
9 Junio de 2018 La 9.ª edición, oficialmente conocida como ECMAScript 2018, incluye operadores rest/spread para variables (tres puntos: ...identificador), iteracion asincronica, Promise.prototype.finally() Brian Terlson
10 Enero de 2019 La 10.ª edición, oficialmente conocida como ECMAScript 2019, incorporó Array.flat(), Array.flatMap(), String.trimStart(), String.trimEnd(), errores opcionales en el bloque catch, Object.fromEntries(), Symbol.description Mathías Bynens
11 Junio 2020 Ver 11ª edición – ECMAScript 2020 Jordan Harband, Kevin Smith

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.[13]

11ª edición – ECMAScript 2020

La 11ª edición, o ECMAScript 2020, fue publicada en junio de 2020. Además de nuevas funcionalidades, esta versión incluye el tipo primitivo BigInt para enteros de tamaño arbitrario primitive, el operador de unión nula (en inglés, nullish coalescing), el encadenamiento opcional (en inglés, optional chaining) y el objeto globalThis.

Los BigInit se crean con el constructor BigInt o con la sintaxis 10n, donde "n" se coloca después del número literal. BigInts permite la representación y manipulación de enteros mayores que Number.MAX_SAFE_INTEGER, mientras que los números está representados por un valor IEEE 754 de 64 bits de doble precisión. Las funciones integradas en Math no son compatibles con BigInits; por ejemplo, la potencia de BigInts debe realizarse con el operador ** en lugar de Math.pow.

El operador de unión nula, ??, devuelve su operando del lado derecho cuando su lado izquierdo es null or undefined. Esto contrasta con el operador ||, que devolverá "string" para todos los valores "falsy", como los que se muestran a continuación:

undefined ?? "string" // -> "string" null ?? "string" // "string" false ?? "string" // -> false NaN ?? "string" // -> NaN 

El encadenamiento opcional te permite acceder a las propiedades anidadas de un objeto sin tener una verificación Y en cada nivel. Un ejemplo es const zipcode = person?.address?.zipcode. Si alguna de las propiedades no está presente, zipcode será undefined.

Con el globalThis podes escribir código que funcione en contexto de ventana y no ventana sin la necesidad de chequeos extra.

ES.NEXT

ES.Next es un nombre dinámico para referirse a cualquier próxima versión que se esté desarrollando. Las características de ES.Next son conocidas más correctamente como propuestas, porque, por definición, las especificación no ha sido aun finalizada.


Véase también

Referencias

  1. Standard ECMA-262: ECMAScript® 2016 Language Specification (en inglés). Consultado el 13 de enero de 2017.
  2. Eich, Brendan (13 de agosto de 2008). «ECMAScript Harmony». Consultado el 22 de julio de 2015. 
  3. campusMVP (19 de junio de 2015). «ECMAScript 6 es ya un estándar cerrado». Consultado el 22 de julio de 2015. 
  4. Krill, Paul (23 de junio de 2008). «JavaScript creator ponders past, future | Developer World». InfoWorld. Consultado el 31 de octubre de 2013. 
  5. . Web.archive.org. Archivado desde el original el 16 de septiembre de 2007. Consultado el 31 de octubre de 2013. 
  6. . weblogs.mozillazine.org. Archivado desde el original el 17 de mayo de 2008. 
  7. . Web.archive.org. Archivado desde el original el 3 de diciembre de 1998. Consultado el 31 de octubre de 2013. 
  8. «Will there be a suggested file suffix for es4?». Mail.mozilla.org. 3 de octubre de 2006. Consultado el 31 de octubre de 2013. 
  9. [1] el 12 de abril de 2015 en Wayback Machine.. EMCAScript. Retrieved on 2015-06-19.
  10. «ECMA-260 10th Edition». 
  11. «Changes to JavaScript, Part 1: EcmaScript 5». YouTube. 18 de mayo de 2009. Consultado el 31 de octubre de 2013. 
  12. http://www.infoworld.com/article/2937716/javascript/its-official-ecmascript-6-is-approved.html
  13. 2015-03-24 Meeting Notes. ESDiscuss. Also see Ecma withdrawn Standards. ECMA.

Enlaces externos

  • Especificación del lenguaje ECMAScript
  • ECMAScript 6 es ya un estándar cerrado
  • Tabla de compatibilidad de navegadores con ECMAScript 6
  • Historia de ECMA (en inglés).
  • ISO/IEC 22275:2018 (en inglés).
  •   Datos: Q259138

ecmascript, este, artículo, sección, tiene, referencias, pero, necesita, más, para, complementar, verificabilidad, este, aviso, puesto, enero, 2017, especificación, lenguaje, programación, publicada, ecma, international, desarrollo, empezó, 1996, estuvo, basad. Este articulo o seccion tiene referencias pero necesita mas para complementar su verificabilidad Este aviso fue puesto el 13 de enero de 2017 ECMAScript es una especificacion de lenguaje de programacion publicada por ECMA International El desarrollo empezo en 1996 y estuvo basado en el popular lenguaje JavaScript propuesto como estandar por Netscape Communications Corporation Actualmente esta aceptado como el estandar ISO IEC 22275 2018 ECMAScriptBrendan Eichhttps ecma international org Informacion generalExtensiones comunesesParadigmaMultiparadigma prototipado funcional imperativoAparecio en01 de enero de 1997 24 anos 7 meses y 8 dias Disenado porBrendan Eich Ecma InternationalImplementacionesSpiderMonkey V8 ActionScript JScript QtScript InScriptInfluido porSelf HyperTalk AWK C Perl Python Java Scheme editar datos en Wikidata ECMAScriptDesarrolladorSun Microsystems Ecma InternationalECMA 262 ECMA 290 ECMA 327 ECMA 357 http www ecma international org publications standards Ecma 404 htm ECMA 404 Informacion generalExtension de archivo esTipo de MIMEapplication ecmascriptLanzamiento inicial1 de junio de 1997 24 anos 2 meses y 8 dias Ultima versionEdicion 7ª 1 de junio de 2016 5 anos 2 meses y 8 dias 1 Tipo de formatoLenguaje de scriptingExtendido deJavaScript y JScriptFormato abierto editar datos en Wikidata ECMAScript define un lenguaje de tipos dinamicos ligeramente inspirado en Java y otros lenguajes del estilo de C Soporta algunas caracteristicas de la programacion orientada a objetos mediante objetos basados en prototipos y pseudoclases La mayoria de navegadores de Internet incluyen una implementacion del estandar ECMAScript al igual que un acceso al Document Object Model para manipular paginas web JavaScript esta implementado en la mayoria de navegadores Internet Explorer de Microsoft usa JScript El navegador Opera tenia su propio interprete de ECMAScript con extensiones para soportar algunas caracteristicas de JavaScript y JScript actualmente Opera esta basado en Chromium y utiliza su interprete Cada navegador tiene extensiones propias al estandar ECMAScript pero cualquier codigo que se adecue al estandar deberia funcionar en todos ellos ActionScript para Adobe Flash tambien esta basado en el estandar ECMAScript con mejoras que permiten mover crear y analizar dinamicamente objetos mientras la pelicula esta en ejecucion Desde el lanzamiento en junio de 1997 del estandar ECMAScript 1 han existido las versiones 2 3 y 5 que es la mas usada actualmente la 4 se abandono 2 En junio de 2015 se cerro y publico la version ECMAScript 6 3 Indice 1 Historia 1 1 Versiones 1 1 1 11ª edicion ECMAScript 2020 1 1 2 ES NEXT 2 Vease tambien 3 Referencias 4 Enlaces externosHistoria EditarECMAScript es una especificacion estandar de un lenguaje desarrollado por Brendan Eich empleado en Netscape inicialmente se llamaba Mocha luego LiveScript y finalmente Javascript 4 En diciembre de 1995 Sun Microsystems y Netscape anunciaron JavaScript en una conferencia de prensa 5 En marzo de 1996 Netscape Navigator 2 0 fue lanzado con soporte para JavaScript Debido al gran exito de Javascript como lenguaje de scripting del lado del cliente para paginas web Microsoft desarrollo un dialecto compatible del lenguaje llamado JScript para evitar problemas legales con la marca JScript agrego nuevos metodos para las fechas para aliviar los problemas del ano 2000 Y2K causados en parte porque los metodos de Javascript estaban basados en las clases Date de Java 6 JScript fue incluido en Internet Explorer 3 0 lanzado en agosto de 1996 Netscape envio el borrador de JavaScript a Ecma International para su estandarizacion y para que trabajasen sobre su especificacion ECMA 262 que comenzo en noviembre de 1996 7 La primera edicion de ECMA 262 fue adoptada por asamblea general de Ecma en junio de 1997 Varias ediciones del lenguaje estandar han sido publicadas desde entonces El nombre ECMAScript fue un compromiso entre las organizaciones involucradas en la estandarizacion del lenguaje especialmente entre Netscape y Microsoft que se disputaron el dominio de las primeras sesiones estandar Eich comento que ECMAScript fue siempre un nombre de marca indeseado que sonaba como una enfermedad de la piel 8 A pesar de que ambas especificaciones tanto JavaScript y JScript apuntan a ser compatibles con ECMAScript tambien proveen caracteristicas adicionales no descritas en la especificaciones de ECMA cita requerida Versiones Editar Este articulo o seccion se encuentra desactualizado La informacion suministrada ha quedado obsoleta o es insuficiente Uso de esta plantilla sust Desactualizado tema del articulo Hay once versiones de ECMA 262 publicadas El trabajo sobre la version 11 del estandar fue finalizada en junio de 2020 9 Allen Wirfs Brock ECMA 262 Project Editor 6th Edition amp Brian Terlson ECMA 262 Project Editor 7th through 10th Editions 10 Edicion Fecha de publicacion Cambios desde la edicion anterior Editor1 Junio de 1997 Primera edicion Guy L Steele Jr 2 Junio de 1998 Cambios editoriales para mantener la especificacion completa alineada con el estandar internacional ISO IEC 16262 Mike Cowlishaw3 Diciembre de 1999 Se agregaron expresiones regulares mejor manejo de strings nuevo control de declaraciones manejo de excepciones con try catch definicion mas estricta de errores formato para la salida numerica y otras mejoras Mike Cowlishaw4 Abandonado La cuarta edicion fue abandonada debido a diferencias politicas respecto a la complejidad del lenguaje Muchas caracteristicas propuestas para la cuarta edicion fueron completamente abandonadas algunas fueron propuestas para la edicion ECMAScript Harmony 5 Diciembre de 2009 Agrega el modo estricto strict mode un subconjunto destinado a proporcionar una mejor comprobacion de errores y evitar constructores propensos a errores Aclara varias ambiguedades de la tercera edicion y afina el comportamiento de las implementaciones del mundo real que difieren consistentemente desde esa especificacion Agrega algunas nuevas caracteristicas como getters y setters libreria para el soporte de JSON y una mas completa reflexion sobre las propiedades de los objetos 11 Pratap Lakshman Allen Wirfs Brock5 1 Junio de 2011 Esta edicion 5 1 de la ECMAScript Standard esta completamente alineada con la tercera edicion del estandar internacional ISO IEC 16262 2011 Pratap Lakshman Allen Wirfs Brock6 Junio de 2015 12 La sexta edicion agrega cambios significativos en la sintaxis para escribir aplicaciones complejas incluyendo clases y modulos definiendolos semanticamente en los mismos terminos del modo estricto de la edicion ECMAScript 5 Otras nuevas caracteristicas incluyen iteradores for of loops generadores y generador de expresiones estilo Python funciones de direccion datos binarios colecciones mapas sets mapas debiles y proxies metaprogramacion para objetos virtuales y wrappers Al ser la primera especificacion ECMAScript Harmony es tambien conocida como ES6 Harmony Allen Wirfs Brock7 Junio de 2016 La septima edicion fue una mera actualizacion de la version 6 Incorpora el metodo Array prototype includes y el operador exponencial Brian Terlson8 Junio de 2017 La 8ª edicion oficialmente conocida como ECMAScript 2017 fue finalizada en junio de 2017 11 Incluye constructores async await los cuales funcionan usando generadores y promesas Brian Terlson9 Junio de 2018 La 9 ª edicion oficialmente conocida como ECMAScript 2018 incluye operadores rest spread para variables tres puntos identificador iteracion asincronica Promise prototype finally Brian Terlson10 Enero de 2019 La 10 ª edicion oficialmente conocida como ECMAScript 2019 incorporo Array flat Array flatMap String trimStart String trimEnd errores opcionales en el bloque catch Object fromEntries Symbol description Mathias Bynens11 Junio 2020 Ver 11ª edicion ECMAScript 2020 Jordan Harband Kevin SmithEn junio de 2004 Ecma International publico el estandar ECMA 357 definiendo una extension de ECMAScript conocida como ECMAScript para XML E4X Ecma tambien definio un Perfil compacto para ECMAScript conocida como ES CP o ECMA 327 que fue disenado para dispositivos con recursos limitados pero se descarto y la retiraron en 2015 13 11ª edicion ECMAScript 2020 Editar La 11ª edicion o ECMAScript 2020 fue publicada en junio de 2020 Ademas de nuevas funcionalidades esta version incluye el tipo primitivo BigInt para enteros de tamano arbitrario primitive el operador de union nula en ingles nullish coalescing el encadenamiento opcional en ingles optional chaining y el objeto globalThis Los BigInit se crean con el constructor BigInt o con la sintaxis 10n donde n se coloca despues del numero literal BigInts permite la representacion y manipulacion de enteros mayores que Number MAX SAFE INTEGER mientras que los numeros esta representados por un valor IEEE 754 de 64 bits de doble precision Las funciones integradas en Math no son compatibles con BigInits por ejemplo la potencia de BigInts debe realizarse con el operador en lugar de Math pow El operador de union nula devuelve su operando del lado derecho cuando su lado izquierdo es null or undefined Esto contrasta con el operador que devolvera string para todos los valores falsy como los que se muestran a continuacion undefined string gt string null string string false string gt false NaN string gt NaN El encadenamiento opcional te permite acceder a las propiedades anidadas de un objeto sin tener una verificacion Y en cada nivel Un ejemplo es const zipcode person address zipcode Si alguna de las propiedades no esta presente zipcode sera undefined Con el globalThis podes escribir codigo que funcione en contexto de ventana y no ventana sin la necesidad de chequeos extra ES NEXT Editar ES Next es un nombre dinamico para referirse a cualquier proxima version que se este desarrollando Las caracteristicas de ES Next son conocidas mas correctamente como propuestas porque por definicion las especificacion no ha sido aun finalizada Vease tambien EditarJavaScript JScript ActionScript XML DartReferencias Editar Standard ECMA 262 ECMAScript 2016 Language Specification en ingles Consultado el 13 de enero de 2017 Eich Brendan 13 de agosto de 2008 ECMAScript Harmony Consultado el 22 de julio de 2015 campusMVP 19 de junio de 2015 ECMAScript 6 es ya un estandar cerrado Consultado el 22 de julio de 2015 Krill Paul 23 de junio de 2008 JavaScript creator ponders past future Developer World InfoWorld Consultado el 31 de octubre de 2013 Press Release Web archive org Archivado desde el original el 16 de septiembre de 2007 Consultado el 31 de octubre de 2013 Brendan s Roadmap Updates Popularity weblogs mozillazine org Archivado desde el original el 17 de mayo de 2008 Press Release Web archive org Archivado desde el original el 3 de diciembre de 1998 Consultado el 31 de octubre de 2013 Will there be a suggested file suffix for es4 Mail mozilla org 3 de octubre de 2006 Consultado el 31 de octubre de 2013 1 Archivado el 12 de abril de 2015 en Wayback Machine EMCAScript Retrieved on 2015 06 19 ECMA 260 10th Edition Changes to JavaScript Part 1 EcmaScript 5 YouTube 18 de mayo de 2009 Consultado el 31 de octubre de 2013 http www infoworld com article 2937716 javascript its official ecmascript 6 is approved html 2015 03 24 Meeting Notes ESDiscuss Also see Ecma withdrawn Standards ECMA Enlaces externos EditarEspecificacion del lenguaje ECMAScript ECMAScript 6 es ya un estandar cerrado Tabla de compatibilidad de navegadores con ECMAScript 6 Historia de ECMA en ingles ISO IEC 22275 2018 en ingles Datos Q259138Obtenido de https es wikipedia org w index php title ECMAScript amp oldid 135296781, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos