Tutorial de JS

JS HOME Introdução JS JS Para onde Saída JS Declarações JS Sintaxe JS Comentários JS Variáveis ​​JS JS Let JS Const Operadores JS JS Aritmética Atribuição de JS Tipos de dados JS Funções JS Objetos JS Eventos JS Strings JS Métodos de string JS Pesquisa de String JS Modelos de String JS Números JS Métodos de número JS Matrizes JS Métodos de matriz JS Classificação de matriz JS Iteração de matriz JS Const da matriz JS Datas JS Formatos de data JS Métodos de obtenção de data JS Métodos de conjunto de datas JS JS Math JS Aleatório JS Booleanos Comparações JS Condições JS Interruptor JS Circuito JS para JS Loop Para Entrada JS Loop Para De JS Loop Enquanto Quebra de JS Iteráveis ​​JS Conjuntos JS Mapas JS Tipo JS de Conversão de tipo JS JS bit a bit JS RegExp Erros JS Escopo JS Içamento JS Modo estrito JS JS esta palavra-chave Função de seta JS Classes JS JS JSON Depuração JS Guia de estilo JS Práticas recomendadas de JS Erros de JS Desempenho JS Palavras reservadas JS

Versões JS

Versões JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge Histórico de JS

Objetos JS

Definições de objeto Propriedades do objeto Métodos de objeto Exibição de objetos Acessadores de objetos Construtores de objetos Protótipos de Objetos Iteráveis ​​de objeto Conjuntos de objetos Mapas de objetos Referência do objeto

Funções JS

Definições de função Parâmetros de função Invocação de função Chamada de Função Função Aplicar Fechamentos de Função

Classes JS

Introdução à aula Herança de classe Classe Estática

JS Assíncrono

Retornos de chamada JS JS Assíncrono Promessas JS JS Async/Aguardar

JS HTML DOM

Introdução ao DOM Métodos DOM Documento DOM Elementos DOM HTML DOM Formulários DOM CSS DOM Animações DOM Eventos DOM Ouvinte de eventos DOM Navegação DOM Nós DOM Coleções DOM Listas de nós DOM

BOM do navegador JS

Janela JS Tela JS Localização JS Histórico de JS Navegador JS Alerta pop-up JS Temporização JS Cookies JS

APIs da Web JS

Introdução à API da Web API de formulários da Web API de histórico da web API de armazenamento da Web API do trabalhador da Web API de busca da Web API de geolocalização da Web

JS AJAX

Introdução AJAX AJAX XML Http Solicitação AJAX Resposta AJAX Arquivo XML AJAX PHP AJAX ASP AJAX Banco de dados AJAX Aplicativos AJAX Exemplos AJAX

JS JSON

Introdução JSON Sintaxe JSON JSON x XML Tipos de dados JSON Análise JSON JSON Stringify Objetos JSON Matrizes JSON Servidor JSON JSON PHP HTML JSON JSON JSONP

JS x jQuery

Seletores jQuery HTML jQuery jQuery CSS jQuery DOM

Gráficos JS

Gráficos JS Tela JS JS Plotly JS Chart.js JS Google Chart JS D3.js

Exemplos JS

Exemplos JS JS HTML DOM Entrada HTML JS Objetos HTML JS Eventos HTML JS Navegador JS Editor JS Exercícios JS Teste JS Certificado JS

Referências JS

Objetos JavaScript Objetos HTML DOM


Histórico de JavaScript


JavaScript/ECMAScript

JavaScript foi inventado por Brendan Eich em 1995.

Foi desenvolvido para Netscape 2 e tornou-se o padrão ECMA-262 em 1997.

Depois que a Netscape entregou o JavaScript à ECMA, a fundação Mozilla continuou a desenvolver JavaScript para o navegador Firefox. A última versão do Mozilla foi 1.8.5. (Idêntico ao ES5).

O Internet Explorer (IE4) foi o primeiro navegador a suportar ECMA-262 Edição 1 (ES1).

Ano ECMANavegador
1995   JavaScript foi inventado por Brendan Eich
1996   Netscape 2 foi lançado com JavaScript 1.0
1997   JavaScript tornou-se um padrão ECMA (ECMA-262)
1997 ES1 O ECMAScript 1 foi lançado
1997 ES1 IE 4 foi o primeiro navegador a suportar ES1
1998 ES2 O ECMAScript 2 foi lançado
1998   Netscape 42 foi lançado com JavaScript 1.3
1999 ES2 IE 5 foi o primeiro navegador a suportar ES2
1999 ES3 O ECMAScript 3 foi lançado
2000 ES3 IE 5.5 foi o primeiro navegador a suportar ES3
2000   Netscape 62 foi lançado com JavaScript 1.5
2000   Firefox 1 foi lançado com JavaScript 1.5
2008 ES4 ECMAScript 4 foi abandonado
2009 ES5 O ECMAScript 5 foi lançado
2011 ES5 IE 9 foi o primeiro navegador a suportar ES5 *
2011 ES5 Firefox 4 foi lançado com JavaScript 1.8.5
2012 ES5 Suporte total para ES5 no Safari 6
2012 ES5 Suporte completo para ES5 no IE 10
2012 ES5 Suporte total para ES5 no Chrome 23
2013 ES5 Suporte completo para ES5 no Firefox 21
2013 ES5 Suporte completo para ES5 no Opera 15
2014 ES5 Suporte completo para ES5 em todos os navegadores
2015 ES6 O ECMAScript 6 foi lançado
2016 ES6 Suporte total para ES6 no Chrome 51
2016 ES6 Suporte total para ES6 no Opera 38
2016 ES6 Suporte total para ES6 no Edge 14
2016 ES6 Suporte total para ES6 no Safari 10
2015 ES6 Suporte completo para ES6 no Firefox 52
2018 ES6 Suporte total para ES6 em todos os navegadores **

Observação

* O Internet Explorer 9 não suportava ES5 "use strict".

** O Internet Explorer 11 não suporta ES6.


O Comitê Técnico da ECMA 39

Em 1996, Netscape e Brendan Eich levaram JavaScript para a organização de padrões internacionais ECMA, e um comitê técnico (TC39) foi criado para desenvolver a linguagem.

ECMA-262 Edição 1 foi lançada em junho de 1997.


De ES4 a ES6

Quando o comitê TC39 se reuniu em Oslo em 2008, para concordar com o ECMAScript 4, eles foram divididos em 2 campos muito diferentes:

O acampamento ECMAScript 3.1 :
Microsoft e Yahoo que queriam uma atualização incremental do ES3.

O ECMAScript 4 Camp :
Adobe, Mozilla, Opera e Google que queriam uma atualização massiva do ES4.

13 de agosto de 2008, Brendan Eich escreveu um e- mail :

Não é nenhum segredo que o corpo de padrões JavaScript, o Comitê Técnico 39 do Ecma, foi dividido por mais de um ano, com alguns membros favorecendo o ES4, uma quarta edição importante do ECMA-262, e outros defendendo o ES3.1 baseado no ECMA-262 existente. Especificação da Edição 3 (ES3). Agora, estou feliz em informar, a separação acabou.

A solução foi trabalhar em conjunto:

  • ECMAScript 4 foi renomeado para ES5
  • O ES5 deve ser uma atualização incremental do ECMAScript 3.
  • Os recursos do ECMAScript 4 devem ser adquiridos em versões posteriores.
  • O TC39 deve desenvolver uma nova versão principal, maior em escopo que o ES5.

A nova versão planejada (ES6) recebeu o codinome "Harmony" (por causa da divisão que criou?).

ES5 foi um grande sucesso. Foi lançado em 2009 e todos os principais navegadores (incluindo o Internet Explorer) eram totalmente compatíveis em julho de 2013:

Chrome 23 IE10 / Edge Firefox 21 Safari 6 Opera 15
Nov 2012 Sep 2012 May 2013 Jul 2012 Jul 2013

ES6 também foi um grande sucesso. Foi lançado em 2015 e todos os principais navegadores estavam em total conformidade em março de 2017:

Chrome 51 Edge 14 Firefox 52 Safari 10 Opera 38
May 2016 Aug 2016 Mar 2017 Sep 2016 Jun 2016