Skip to content

Latest commit

 

History

History
56 lines (53 loc) · 1.8 KB

evolucao.md

File metadata and controls

56 lines (53 loc) · 1.8 KB

Evolução das Versões

  • Com a padronização, foi formado um comitê chamado de TC39, que passou a trabalhar na especificação ECMA-262.

  • ES1: 1997 (110 páginas)

  • ES2: 1998 (117 páginas)

  • ES3: 1999 (188 páginas) | 10 anos sendo utilizada

    • Expection Handling (throw, try/catch)
    • Regular Expression
    • Switch
    • Do-while
  • Por volta de 2005, com o surgimento do AJAX, a linguagem ganhou uma vida nova.

  • Pouca gente sabia utilizá-la corretamente.

  • Passaram-se cerca de 10 anos sem lançamentos.

  • Houve uma separação dentro do TC39 dos grupos que especificavam a versão 3.1 e 4.0 (Microsoft e Yahoo estavam na 3.1 e a Adobe, Mozilla, Opera e Google na 4.0)

  • Após mais de um ano de trabalho em paralelo, as versões não eram compatíveis.

  • O TC39 decidiu rejeitar ambas as versões 3.1 e 4.0

  • (E-mail ECMAScript Harmony Brendan Eich)

  • ES5: 2009 (252 páginas) | (Depois de muitas críticas e hate)

    • JSON
    • Strict mode
    • Reserved words as property keys
    • Multiline string
    • Object API
    • Array.prototype
  • ES5.1: 2011 (258 páginas)

  • ES6: 2015 (566 páginas)

    • Class
    • Arrow Function
    • Proxy
    • Reflect
    • Map
    • Set
    • Destructuring
    • Rest Parameter
    • Default Value
    • Template Literal
    • Spread Operator
    • Generators
    • Promises
    • Modules
  • ES77: 2016 (586 páginas)

    • Array.prototype.includes
    • Exponentiation operator
  • ES8: 2017 (885 páginas)

    • Async/Awayt
    • Object.values
    • Object.entries
    • String.prototype.padStart
    • String.prototype.padEnd
    • Trailing commas in parameters list
    • Objects and Arrays
  • Como o ES6 ficou grande demais, a partir do ES7, as versões passaram a ser anuais.

  • Cuidar com problemas de compatibilidade ao utilizar novas funcionalidades.

  • Usar Babel para fazer transpile para o Browser.