Neste artigo, exploraremos o fascinante mundo de ECMAScript. Desde as suas origens até ao seu impacto na sociedade atual, ECMAScript tem sido objeto de inúmeros estudos e debates ao longo dos anos. À medida que avançamos nesta análise aprofundada, descobriremos as muitas facetas que contribuíram para a proeminência de ECMAScript em diferentes esferas, seja na cultura popular, na ciência, na política ou em qualquer outra esfera da vida quotidiana. Sem dúvida, ECMAScript representa um tema altamente relevante que merece ser examinado sob diferentes perspectivas para compreender o seu verdadeiro alcance e importância no mundo moderno.
ECMAScript | |
---|---|
Paradigma | multiparadigma: baseada em protótipos, funcional, imperativa, linguagem de script |
Surgido em | 1997 |
Criado por | Brendan Eich, Ecma International |
Estilo de tipagem | Duck, fraca, dinâmica |
Dialetos | JavaScript, ActionScript, JScript, QML, QtScript, InScript |
Influenciada por | Self, HyperTalk, AWK, C, Perl, Python, Java, Scheme |
ECMAScript | |
---|---|
![]() | |
Extensão do arquivo | .es |
MIME | application/ecmascript
|
Desenvolvido por | Sun Microsystems, Ecma International |
Lançamento | junho de 1997 |
Última versão | Edição 10 (junho de 2019 | )
Tipo de formato | Linguagem de script |
Variado para | JavaScript |
Página oficial | ECMA-262, ECMA-290, ECMA-327, ECMA-357, ECMA-402 |
ECMAScript[1] é um padrão de linguagens de programação, incluindo JavaScript, JScript, e ActionScript, padronizada pela Ecma International na especificação ECMA-262 e ISO/IEC 16262. Esta linguagem é usada em tecnologias para Internet para a criação de scripts executados no cliente e no servidor usando ambientes de execução como Node.js, Deno,[2] e Bun.
ECMA-262, ou ECMAScript Language Specification, define a linguagem ECMAScript.[3] ECMA-262 especifica apenas a sintaxe da linguagem e a semântica da Interface de programação de aplicações base, tais como Array, Function, and globalThis, enquanto implementações válidas do JavaScript adicionam sua própria funcionalidade como entrada/saída e manipulação do sistema de arquivos.
Em dezembro de 1995, a Sun Microsystems e a Netscape Communications Corporation anunciaram o JavaScript em um press release - na tentativa de capitalizar com o sucesso da linguagem Java[1] - baseado nos trabalhos de Brendan Eich da Netscape sob o nome Mocha e, mais tarde, LiveScript. Em março de 1996 a Netscape Communications Corporation lançou o Navegador Netscape 2.0, com suporte para JavaScript. Com o sucesso do JavaScript como linguagem de scripting para o desenvolvimento de páginas web, a Microsoft, por sua vez, desenvolveu uma linguagem bastante próxima batizada de JScript, incluída mais tarde no Internet Explorer 3.0, lançado em agosto de 1996.
A Netscape submeteu as especificações do JavaScript para padronização na organização padronizadora ECM International for Standardization; resultando assim no novo padrão ECMAScript, o trabalho na especificação ECMA-262 começou em novembro de 1996 e, sua primeira edição foi adaptada pela ECMA General Assembly em junho de 1997.[4]
ECMAScript é uma especificação de linguagem de scripts padronizada pelo ECMA-262. As linguagens JavaScript, JScript e ActionScript seguem a ECMAScript, porém cada um provê recursos adicionais não descritos na especificação ECMA.
A edição ECMAScript6 (ES6 ou ES2015) adiciona nova sintaxe para escrever aplicativos complexos (como classes e módulos), mas os define semanticamente nos mesmos termos que o modo estrito.[1] Outros recursos incluem iterações e repetições for/of, funções de seta/arrow, dados binários, arrays digitados, coleções (mapas e conjuntos), promessas, e aprimoramentos matemáticos.[5]
A edição ECMAScript7 (ES7 ou ES2016) do padrão pretende continuar a reforma da linguagem, com isolamento de código, controle de efeitos e habilitação de biblioteca, operador de exponenciação (**), e Array.prototype.includes.[6]
A edição ECMAScript8 n(ES8 ou ES2017) incluem recursos de simultaneidade e atômica, transferência de dados binários de cópia zero, aprimoramentos matemáticos, integração sintática com promessas (aguardar / assíncrono), fluxos observáveis, tipos de SIMD (método de operação de computação paralela), melhoria da meta-programação com classes, propriedades de classe e instância, sobrecarga de operador, tipos de valor, registros, tuplas and traits.[7]
The core JavaScript programming language is based on the ECMAScript standard, or ES for short.