MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

JavaScript® (às vezes abreviado para JS) é uma linguagem leve, interpretada e baseada em objetos com funções de primeira classe, mais conhecida como a linguagem de script para páginas Web, mas usada também em vários outros ambientes sem browser como node.js ou  Apache CouchDB. É uma linguagem de script multi-paradigma,  baseada em protótipo que é dinâmica, e suporta estilos de programação orientado a objetos, imperativo e funcional. Saiba mais sobre JavaScript.

Essa sessão do site é dedicada à linguagem JavaScript e não às partes que são específicas para páginas Web e outros ambientes. Para mais informações sobre APIs específicas para páginas Web, por favor leia Web APIs e DOM.

O padrão JavaScript é ECMAScript. Desde 2012, todos os navegadores modernos possuem suporte total ao ECMAScript 5.1. Navegadores mais antigos suportam pelo menos ECMAScript 3. Em 17 de Junho de 2017, a ECMA International publicou a sexta versão do ECMAScript, que é oficialmente chamado de ECMAScript 2015, e foi inicialmente conhecido como ECMAScript 6 ou ES6. Desde então, as especificações do ECMAScript são lançadas anualmente. Essa documentação faz referência a última versão de referência que atualmente é a ECMAScript 2017.

Não se deve confundir JavaScript com a linguagem de programação Java. Tanto "Java" quanto "JavaScript" são marcas registradas da Oracle nos Estados Unidos da América e em outros países. No entanto, as duas linguagens de programação possuem sintaxe, semânticas e usos muito diferentes.

Tutoriais

Aprenda a programar em JavaScript com guias e tutoriais.

Para iniciantes

Vá para a Área de aprendizado de JavaScript se você quer aprender JavaScript porém não tem experiência prévia com JavaScript ou programação. Os módulos completos que estão disponíveis lá são:

JavaScript, primeiros passos
Respostas para umas perguntas básicas tipo "o que é JavaScript?", "Como ele se parece?", e "o que ele pode fazer?", bem como funcionalidades importantes do JavaScript tais como variáveis, strings, números e vetores.
JavaScript elementos básicos
Continuamos nossa cobertura das funcionalidades fundamentais do JavaScript, direcionando nossa atenção para tipos de blocos de código encontrados comumente como expressões condicionais, laços, funções, e eventos.
Introduzindo objetos em JavaScript
O entendimento da natureza da orientação à objetos do JavaScript é importante se você quiser levar o seu conhecimento da linguage para o próximo nível e escrever códigos mais eficientes, por isso oferecemos esse módulo para te ajudar.

Guia do JavaScript

Guia do JavaScript
Um guia muito mais detalhado sobre a linguagem JavaScript, para pessoas que possuem experiência prévia com JavaScript ou outra linguagem de programação.

Intermediário

Uma re-introdução ao JavaScript
Uma visão geral para aqueles que pensam que sabem sobre JavaScript.
Estruturas de dados do JavaScript
Um resumo das estruturas de dados disponíveis em JavaScript.
Comparações de igualdade e uniformidade
JavaScript fornece três operações diferentes para comparar valores: igualdade estrita utilizando ===, igualdade ampla usando ==, e o método Object.is().

Avançado

Herança e a cadeia de protótipos
Explicação da herança baseada em protótipos, que costuma ser amplamente mal entendida e subestimada.
Modo estrito
O modo estrito define que você não pode usar nenhuma variável antes de inicializá-la. É uma variante restrita do ECMAScript 5, para um desempenho mais performático e uma depuração mais fácil.
Vetores JavaScript tipados
Vetores JavaScript tipados oferecem um mecanismo para acesso a dados binários brutos.
Gerenciamento de memória
Ciclo de vida da memória e coleção de lixo em JavaScript.
Modelo de concorrência e o loop de eventos
JavaScript tem um modelo de concorrência baseado em "loop de eventos".

Referência

Navegue pela documentação completa da Referência de JavaScript.

Objetos globais
Conheça os objetos padrões nativos Array, Boolean, Date, Error, Function, JSON, Math, Number, Object, RegExp, String, Map, Set, WeakMap, WeakSet, entre outros.
Expressões e operadores
Saiba mais sobre o comportamento dos operadores de JavaScript instanceof, typeof, new, this, a precedência dos operadores, e muito mais.
Instruções e declarações
Saiba como do-while, for-in, for-of, try-catch, let, var, const, if-else, switch, e outras instruções e palavras-chave do JavaScript funcionam.
Funções
Aprenda como trabalhar com funçoes em JavaScript para desenvolver suas aplicações.

Ferramentas & recursos

Ferramentas úteis para escrever e depurar seu código JavaScript.

Ferramentas do Firefox para desenvolvedores
Scratchpad, Web Console, JavaScript Profiler, Debugger, e muito mais.
Firebug
Edite, depure, e monitore CSS, HTML, e JavaScript em tempo real em qualquer página Web.
JavaScript Shells
Um shell JavaScript permite que você teste rapidamente fragmentos de código JavaScript.
TogetherJS
Colaboração fácil. Ao adicionar o TogetherJS ao seu site, seus usuários podem ajudar uns aos outros em online em tempo real!
Stack Overflow
Perguntas do Stack Overflow com a tag "JavaScript".
Versões do JavaScript e notas de lançamento
Navegar no histórico de funcionalidades do JavaScript e no status das implementações.
JSFiddle
Edite JavaScript, CSS, HTML and e obtenha resultados em tempo real.Utilize recursos externos e colabore com seu time online.

Etiquetas do documento e colaboradores

 Última atualização por: andregarzia,