Qual é o acordo com as versões Javascript?

O mundo Javascript pode ser um mundo confuso. As pessoas falam de ECMAScript, Javascript, ES5, e ES2015 (que é o mesmo que ES6 a propósito).

Neste artigo, vou explicar a paisagem Javascript.

>

>

Javascript Yellow – Photo by Joseph Gruenthal on Unsplash

ECMAScript é uma especificação de linguagem, e Javascript implementa esta especificação.

>

Todos os anos ECMAScript lança uma nova versão. Basicamente, a nova versão contém uma lista de novas funcionalidades que devem ser adicionadas.

Por exemplo, na nova versão ECMAScript pode haver uma nova função: add() que adiciona dois números.

Desta forma pode finalmente adicionar 2 números com uma função – Eu sei que esta não é uma funcionalidade útil mas tenha paciência comigo para o exemplo 🙌

const result = add(12, 4);
console.log(result);

Quando isto for decidido, cabe a todos os intérpretes Javascript implementar esta nova funcionalidade.

Javascript Interpreters

Um interpretador Javascript é um programa que lerá e executará o código Javascript. Todos os navegadores que suportam Javascript são Javascript interpreters.

Além dos navegadores, existem também outros intérpretes Javascript. O NodeJS é um exemplo primário de um intérprete que nos permite executar JavaScript fora de um navegador. É um interpretador porque também lê e executa Javascript (assim como fornece APIs para o SO).

Nem todos atualizam seu navegador, e nem todos os navegadores suportam as mesmas funcionalidades de Javascript. E é aqui que as coisas ficam confusas.

A última versão ECMAScript é ES10. No entanto, nem todos os navegadores suportam esta nova versão do ES, pois ainda precisam implementar as novas funcionalidades.

Outras vezes, há muitas pessoas com versões desactualizadas do seu navegador, pelo que pode demorar algum tempo até que todos os utilizadores possam executar essas novas funcionalidades extravagantes do ES10.

ES Versões

Vamos fazer um pequeno desvio e falar das versões ES.

Como mencionei na secção anterior, a última versão do ECMAScript é ES10. Agora não há realmente uma convenção de nomes quando se trata de versões ECMAScript. Então ES10 também é chamado de ECMAScript2019 e ES2019.

Outras vezes, a última mudança realmente grande para o idioma foi com ES6 que saiu em 2015, então às vezes também é chamado de ES2015 – Sim é confuso, eu sei 😌

Porque há apenas pequenas mudanças no idioma depois de ES6 todas as versões depois de ES6 são às vezes também chamadas de ESNext.

Javascript Transpilers

Lembrar o problema de nem todos os browsers que suportam as últimas funcionalidades do ES10? Existe uma solução. Transpilers!

Babel é um exemplo de um transpiler Javascript. Babel irá converter uma versão Javascript mais recente para uma versão mais antiga. Desta forma, você pode usar as novas funcionalidades extravagantes do ES10, e deixar Babel transpor para a versão ES5 amplamente suportada.

Diferença entre NodeJS e Browsers

NodeJS e Browsers são ambos interpretadores de Javascript. Dependendo da versão do navegador e do nó que você tem, eles podem suportar a mesma versão do ECMAScript.

No entanto, o Node é executado diretamente em um computador. Isto significa que há um número de bibliotecas agrupadas com Nó que não funcionam no navegador.

Por exemplo, no NodeJS você pode criar novos arquivos. Em um navegador, isso seria um grande risco de segurança, então isso não é possível.

É por isso que programas NodeJS escritos na mesma versão ECMAScript ainda não serão executados no seu navegador que suporta a mesma versão.

Deixe uma resposta

O seu endereço de email não será publicado.