W3docs

Bem-vindo ao JavaScript!

O que é JavaScript, onde ele executa (navegador e Node.js), o que pode fazer e por que vale a pena aprender — uma introdução para iniciantes com exemplos.

JavaScript (frequentemente abreviado como JS) é a linguagem de programação da web. Começou como uma forma de tornar páginas web interativas e, hoje, alimenta tudo, desde botões e animações no navegador até servidores completos de back-end criados com Node.js. É uma das poucas linguagens que você pode usar do front-end ao back-end, o que é um dos grandes motivos de sua popularidade.

Esta página aborda o que é JavaScript, os dois ambientes em que ele executa (navegador e servidor), o que ele pode fazer e por que vale a pena aprendê-lo. Ao final, você entenderá onde JavaScript se encaixa e o que estudar a seguir.

O que é JavaScript?

JavaScript foi criado em 1995 por Brendan Eich na Netscape. Foi projetado para fazer páginas web responderem a ações do usuário — clicar em botões, preencher formulários ou exibir conteúdo sem recarregar a página.

A linguagem é padronizada sob uma especificação chamada ECMAScript. Cada edição anual adiciona funcionalidades; a edição de 2015 (comumente chamada de ES6) foi um grande salto que introduziu arrow functions, template literals, classes e módulos. Quando as pessoas falam em "JavaScript moderno", geralmente se referem ao ES6 e versões posteriores.

Alguns termos que descrevem JavaScript e que você verá com frequência:

  • Alto nível — você não gerencia memória ou hardware diretamente.
  • Tipagem dinâmica — uma variável pode armazenar qualquer tipo, e o tipo é verificado enquanto o programa executa, não antes.
  • Interpretado (compilado JIT) — o código é executado sem uma etapa de compilação separada; o motor (como o V8 do Chrome) o compila em tempo real.

Apesar do nome, JavaScript não tem relação com Java. O nome foi uma decisão de marketing; as duas linguagens são completamente diferentes.

Aqui está um pequeno programa que imprime uma mensagem — este é o tipo de código que funciona da mesma forma em um console de navegador ou no Node.js:

const language = "JavaScript";
console.log(`Hello from ${language}!`);
// Output: Hello from JavaScript!

O que o JavaScript Pode Fazer?

  • Atualizar a página dinamicamente. JavaScript pode alterar o conteúdo de uma página web sem carregar uma nova. Isso é feito por meio do DOM (Document Object Model), a representação ativa da página no navegador.
  • Reagir a eventos. Ele executa código em resposta a cliques, pressionamentos de tecla, rolagem, envio de formulários e muito mais.
  • Comunicar-se com servidores de forma assíncrona. Pode buscar dados em segundo plano (por exemplo, verificar um nome de usuário enquanto o usuário continua digitando) sem travar a página.
  • Armazenar e processar dados. Possui suporte nativo para arrays, objects, datas, matemática e processamento de texto.

Por exemplo, o código a seguir altera o título principal de uma página quando executado em um navegador:

// Runs in the browser: replace the text of the first <h1>
document.querySelector('h1').textContent = 'Hello, JavaScript!';

Onde o JavaScript Executa

JavaScript precisa de um motor para ser executado. Os dois ambientes mais comuns são o navegador e o Node.js.

No Navegador

Todo navegador moderno (Chrome, Firefox, Safari, Edge) possui um motor JavaScript embutido. Foi aqui que o JavaScript começou, e é o que torna as páginas web interativas. Você adiciona JavaScript a uma página HTML com a tag <script>:

<!-- Load an external file -->
<script src="app.js"></script>

<!-- Or write code inline -->
<script>
  console.log('This runs in the browser.');
</script>

Você pode experimentar JavaScript agora mesmo sem escrever nenhum HTML: abra as ferramentas de desenvolvedor do seu navegador (pressione F12, ou Ctrl+Shift+I / Cmd+Option+I no Mac), clique na aba Console e digite o código diretamente.

Em um Servidor com Node.js

O Node.js permite executar JavaScript fora do navegador — em um servidor, no seu computador ou em ferramentas de build. Um servidor é um computador que responde a requisições, por exemplo, enviando de volta uma página web ou dados.

  • Uma linguagem, front e back. Você pode escrever tanto a parte que os usuários veem quanto a lógica do servidor na mesma linguagem, o que simplifica o desenvolvimento.
  • Eficiente para tarefas com muita E/S. Node.js lida com muitas conexões simultâneas de forma eficiente, o que o torna adequado para APIs e aplicativos em tempo real, como chat.
  • Um enorme ecossistema de pacotes. Node.js vem com o npm, o maior registro de software do mundo, para que você possa utilizar ferramentas prontas em vez de escrever tudo do zero.

A diferença fundamental: o código no navegador pode acessar a página e o usuário (document, window), enquanto o código Node.js pode acessar o sistema (arquivos, servidores de rede), mas não tem página. A linguagem principal é a mesma nos dois ambientes.

Por que Aprender JavaScript?

  • Está em todo lugar. Quase todos os sites usam JavaScript, portanto é uma habilidade fundamental para o desenvolvimento web.
  • Abre portas para frameworks. Aprendê-lo permite usar ferramentas populares como React, Angular, Vue.js e Node.js para criar aplicativos maiores.
  • Executa em quase qualquer lugar. Além da web, JavaScript cria aplicativos móveis (React Native) e aplicativos de desktop (Electron).
  • Tem uma grande comunidade. Há muitos tutoriais, bibliotecas e ajuda disponíveis quando você travar.
  • É muito demandado. Muitas vagas de emprego exigem habilidades em JavaScript.
  • Oferece feedback rápido. Você pode ver seu código funcionando imediatamente no navegador, o que torna o aprendizado mais agradável.

Próximos Passos

Agora que você sabe o que é JavaScript e onde ele executa, a melhor forma de aprender é escrevendo código. Bons próximos capítulos:

Seja para criar um site, escrever aplicativos de servidor ou simplesmente aprender a programar, JavaScript é um ótimo ponto de partida. Continue aprendendo conosco no W3Docs.

Prática

Prática
Quais das afirmações a seguir são verdadeiras sobre JavaScript?
Quais das afirmações a seguir são verdadeiras sobre JavaScript?
Was this page helpful?