Que novas funcionalidades principais estavam em cada versão JavaScript? Qual a versão que eu deveria visar?

author
1 minute, 47 seconds Read

Então eu estava começando um novo projeto TypeScript e me perguntando qual a versão JavaScript / ECMA Script a visar. Actualmente podemos escolher entre ES5, ES2015, ES2016, ES2017 e ES2018!

As duas principais coisas a considerar ao seleccionar a sua versão alvo JavaScript são:

  • Target Environment – Desktop Browser? Móvel? NodeJS?
  • De que recursos do JS eu preciso – Classes? Módulos? Funções Async?

Temos a sorte de estar na era do Navegador Evergreen, então o suporte às funcionalidades mais recentes é muito bom na maioria dos ambientes, no entanto há sempre situações em que os usuários têm dispositivos mais antigos, ou você está preso em uma versão mais antiga do NodeJS.

Por esta razão, minha recomendação geral é de ter como alvo a versão mais antiga que tem as funcionalidades que você precisa. Isto dará um bom equilíbrio entre o amplo suporte ao ambiente de destino e o acesso a novas funcionalidades fantásticas 🙂

Below Eu resumi o que eu vejo como as principais novas funcionalidades lançadas em cada versão ECMA Script. Para uma lista completa, assim como detalhes completos do suporte ao ambiente alvo, veja a incrível tabela de compatibilidade do Kangax.

ES5 (2009)

  • Esta é a versão base do JS que você geralmente pode assumir que todos os tempos de execução (exceto os realmente antigos!) serão suportados.

ES6 / ES2015

  • Módulos Padrão – import e export
  • Promessas Padrão
  • Classes &Hereditariedade
  • Bloco-variáveis escopadas – let e const
  • >

  • Literais do Template
  • Destruição de objectos em variáveis
  • >

  • Funções do Gerador
  • >

  • Estruturas de dados do Mapa e Conjunto
  • >

  • Internacionalização para Strings, Números e Datas via Intl API

ES7 / ES2016

  • Array.inclui()
  • >

  • Operador expoente numérico (potência de) **

ES8 / ES2017

    >

  • Funções ASCIC
  • Objecto.entradas
  • >

  • Funções de preenchimento de cordas
  • >

>

ES9 / ES2018

>

    >

  • Descanso/Objecto/ Espalhamento const obj = { ...props };>
  • >

  • Iteração Assíncrona for await (...) {
  • >

  • Promessa finally()Função
  • >

  • Aprimoramentos de expressão regular (lookbehind, grupos nomeados)
  • >

Similar Posts

Deixe uma resposta

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