JavaScript é uma linguagem de programação que apareceu pela primeira vez na década de 90, com o intuito de dar aos navegadores seu primeiro tipo de funcionalidade inteligente.
O JavaScript moderno é realmente um alvo amplo e comovente. Você pode ter aprendido JavaScript há cinco anos e algumas dessas técnicas podem ser consideradas antigas pelos padrões de hoje, assim como você conhece técnicas de JavaScript de mais de 20 anos atrás, que ainda são consideradas práticas recomendadas modernas. Aqui no nosso curso daremos um guia através dos vários detalhes de JavaScript para aprender o JavaScript moderno, como é conhecido hoje.
ECMAScript é a especificação na qual o JavaScript se baseia. Como especificação, significa que o ECMAScript é um modelo ao qual os motores JavaScript (implementações) devem aderir. O ECMAScript esteve relativamente estagnado até 2015 com o aparecimento do ECMAScript 6 - antes disso, o ECMAScript 3 foi publicado em 1999, o ECMAScript 4 foi abandonado, o ECMAScript 5 foi publicado em 2009 e o ECMAScript 5.1 foi publicado em 2011.
O lançamento do ECMAScript 6 em 2015 marcou mudanças significativas para abordar os recursos exigidos pelo crescimento explosivo do JavaScript. E a velocidade das alterações de recursos foi tão grande que o ECMAScript 7 se tornou realidade em 2016 e o ES8 em 2017.
Porque você enfrentará constantemente situações em que o JavaScript comum é compatível com ES5 / ES5.1, ES6, ES7 ou ES8.
Será JavaScript da mesma forma, mas não será executado em todos os motores JavaScript, porque estes estão em constante fluxo para suportar diferentes versões do ES.
Para ficar claro, um "motor JavaScript" é basicamente um programa que lê código JavaScript e roda ele.
A seguir, é apresentada uma lista dos principais motores JavaScript e seu suporte a ES:
Usado pelo navegador Firefox e Adobe Acrobat. Suporta ES5.1, recursos do ES6, ES7 e ES8.
Usado pelo navegador Google Chrome, Opera e Node.js. Suporta ES6 e recursos do ES7 e ES8.
Usado pelo navegador Apple Safari. Suporta ES6 e recursos do ES7 e ES8.
Usado pelo navegador Microsoft Edge. Suporta ES5.1 e recursos do ES6, além de alguns recursos do ES7.