JavaScript
📽 Veja esta vídeo-aula no Youtube
JavaScript é uma linguagem de programação interpretada criada para tornar possível a execução de programas associados à páginas HTML. Esse programas são chamados scripts e seu ambiente de execução é o navegador do usuário. JavaScript não tem nada a ver com Java, além de seu nome, criado se aproveitar do seu sucesso. Hoje em dia, a linguagem segue a especificação ECMAScript (ES), atualmente na versão 11 (ES11 ou ES2020).
Cada navegador possui seu próprio engine (ou máquina virtual), como o V8 do Chrome, o SpiderMonkey do Firefox e o Chakra do Microsoft Edge. Cada uma delas dá suporte a ECMAScript de maneira diferentes, por exemplo, enquanto todas elas dão 100% suporte a ES7 (2016), recursos adicionados posteriomente podem não estar disponíveis em todos eles. Mais detalhes aqui e aqui.
Os scripts são interpretados pelos engines e executados no ambiente controlado do navegador. Esse ambiente permite certas ações, e bloqueia outras.
Você pode:
- Interação com a página no navegador;
- Reagir a ações do usuário, como cliques e teclas;
- Enviar dados pela rede a servidores;
- Armazenar e ler dados no navegador (cookies, local storage).
Você não pode:
- Usar recursos do sistema operacional diretamente, como manipular arquivos e executar programas;
- Interagir com câmeras e microfones sem autorização do usuário;
- Acessar outras abas ou páginas de outras origens;
- Executar scripts se a permissão de JavaScript estiver bloqueada pelo usuário.
Há também outros engines desvinculados de navegadores, que trazem outros tipos de capacidades e limitações. Os mais conhecidos são o Node.js e o Deno. Ambos permitem a execução de programas no backend, assim como o C#.
Hello world interativo (console)
Você pode executar códigos JavaScript de diversas maneiras usando o navegador.
A maneira mais simples é através do console. Como se trata de uma linguagem interpretada, o console é um REPL (read–eval–print loop), ou seja, um loop infinito que lê um comando, executa e exibe um resultado. Esse é o mesmo comportamento do terminal do Windows, por exemplo.
Você pode acessar o console do navegador usando as ferramentas do desenvolvedor. Cada navegador possui seu conjunto de ferramentas, e a tecla de atalho mais comum é F12
(caso não funcione no seu navegador, procure por ferramentas do desenvolvedor no menu). Procure pela aba “Console”.
Use o comando console.log("Hello world")
para exibir a string indicada no console.
console.log
exibe o conteúdo solicitado no console.console.clear()
limpa os resultados anteriores.console.dir
exibe a árvore de objetos de uma maneira navegável.document
é o objeto que contém a página atual.
Hello world em script lado-cliente
Podemos vincultar um script a uma página HTML usando a tag script
, de duas maneiras:
- Script interno, diretamente no arquivo
.html
:
...
<script>
console.log("Hello world!");
</script>
...
Os scripts serão executados assim que a tag for encontrada.
- Script externo, em um arquivo
.js
vinculado.
No arquivo .html
:
...
<script src="meu-script.js"></script>
...
No arquivo meu-script.js
:
console.log("Hello world!");
Os scripts serão colocados na lista de arquivos para download assim que a tag for encontrada, e executados assim que os scripts forem baixados.