Sintaxe do JavaScript
Sintaxe são as regras da linguagem — dominar as regras de sintaxe do JS garante que seu código seja corretamente entendido pelo navegador.
Instruções e Ponto e Vírgula
O código JS é composto por instruções, cada uma realizando uma ação. Um ponto e vírgula ; marca o final de uma instrução.
Embora o JS tenha inserção automática de ponto e vírgula (ASI) e a maioria dos código funcione bem sem eles, é fortemente recomendado adicioná-los manualmente. Por quê? Porque a ASI ocasionalmente interpreta mal sua intenção, causando bugs difíceis de depurar. Criar o hábito de adicionar ponto e vírgula economiza muito mais tempo de depuração do que o esforço de digitá-los.
Blocos de Código
Múltiplas instruções envoltas em chaves {} formam um bloco de código, comumente visto em corpos de funções, condicionais e loops:
<script>
if (score > 60) {
result = "Aprovado";
color = "green";
}
</script>
Blocos de código fazem múltiplas instruções executarem como uma unidade. Embora as chaves possam ser omitidas para instruções únicas, nunca as ignore — as chaves tornam sua intenção mais clara e previnem bugs quando você adicionar mais instruções depois.
Comentários
Comentários são escritos para humanos; o navegador os ignora completamente. Bons comentários explicam "por quê", não "o quê" (o código em si deve transmitir o que faz).
- Comentário de linha única:
// comentário - Comentário de múltiplas linhas:
/* comentário */
Maiúsculas e Minúsculas
O JS é estritamente sensível a maiúsculas e minúsculas: myVar, myvar e MYVAR são três variáveis completamente diferentes. Iniciantes frequentemente tropeçam aqui — a lógica parece correta, mas erros ocorrem por causa de maiúsculas/minúsculas erradas.
Palavras-chave e Palavras Reservadas
O JS reserva certas palavras como palavras-chave (como var, let, const, function, if, else, etc.) e você não pode usá-las como nomes de variáveis. A lista completa de palavras reservadas é longa; apenas lembre das mais comuns — o destaque de sintaxe do seu editor ajudará a identificá-las.
Exemplo: Instruções, Ponto e Vírgula e Blocos de Código
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Sintaxe JS - Instruções e Blocos de Código</title>
<style>
body { font-family: Arial, sans-serif; max-width: 500px; margin: 60px auto; }
#output { min-height: 40px; padding: 16px; background: #f5f5f5; border-radius: 8px; margin-top: 16px; }
button { padding: 10px 24px; font-size: 16px; border: none; border-radius: 6px; cursor: pointer; color: #fff; background: #2196F3; margin-top: 8px; }
button:hover { background: #1976D2; }
input { padding: 8px; font-size: 16px; border: 2px solid #ddd; border-radius: 4px; width: 100px; }
</style>
</head>
<body>
<h2>Instruções e Blocos de Código</h2>
<p>Digite uma nota para verificar se foi aprovado:</p>
<input type="number" id="scoreInput" placeholder="Nota" value="75">
<button id="checkBtn">Verificar</button>
<div id="output"></div>
<script>
document.getElementById("checkBtn").onclick = function() {
var score = parseInt(document.getElementById("scoreInput").value);
var result = "";
var color = "";
if (score >= 60) {
result = "Aprovado! Nota: " + score;
color = "#4CAF50";
} else {
result = "Reprovado. Nota: " + score;
color = "#f44336";
}
var outputEl = document.getElementById("output");
outputEl.textContent = result;
outputEl.style.color = color;
};
</script>
</body>
</html>
Exemplo: Usando Comentários
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Sintaxe JS - Comentários</title>
<style>
body { font-family: Arial, sans-serif; max-width: 500px; margin: 60px auto; }
.code-box { background: #263238; color: #aed581; padding: 20px; border-radius: 8px; font-family: Consolas, monospace; font-size: 14px; line-height: 1.8; white-space: pre; overflow-x: auto; }
.comment { color: #78909c; }
button { margin-top: 16px; padding: 10px 24px; font-size: 16px; border: none; border-radius: 6px; cursor: pointer; color: #fff; background: #4CAF50; }
#result { margin-top: 12px; font-size: 18px; }
</style>
</head>
<body>
<h2>Comentários em JS</h2>
<div class="code-box"><span class="comment">// Comentário de linha única: calcular a área de um círculo</span>
var r = 5;
var area = 3.14 * r * r;
<span class="comment">/* Comentário de múltiplas linhas:
arredondar para duas casas decimais */</span>
area = area.toFixed(2);</div>
<button id="runBtn">Executar este código</button>
<p id="result"></p>
<script>
document.getElementById("runBtn").onclick = function() {
var r = 5;
var area = 3.14 * r * r;
area = area.toFixed(2);
document.getElementById("result").textContent = "Área do círculo com raio 5 = " + area;
document.getElementById("result").style.color = "#4CAF50";
};
</script>
</body>
</html>
Exemplo: Demonstração de Maiúsculas e Minúsculas
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Sintaxe JS - Maiúsculas e Minúsculas</title>
<style>
body { font-family: Arial, sans-serif; max-width: 500px; margin: 60px auto; text-align: center; }
.card { display: inline-block; padding: 20px; border: 2px solid #ddd; border-radius: 12px; margin: 8px; min-width: 120px; }
.card h3 { margin: 0 0 8px; }
.card p { margin: 0; font-family: Consolas, monospace; font-size: 18px; }
#myVar { border-color: #4CAF50; }
#myvar { border-color: #FF9800; }
#MYVAR { border-color: #9C27B0; }
button { margin-top: 20px; padding: 10px 24px; font-size: 16px; border: none; border-radius: 6px; cursor: pointer; color: #fff; background: #e91e63; }
</style>
</head>
<body>
<h2>Sensibilidade a Maiúsculas e Minúsculas no JS</h2>
<p>Esses três nomes de variáveis são todos diferentes:</p>
<div class="card" id="myVar"><h3>myVar</h3><p>---</p></div>
<div class="card" id="myvar"><h3>myvar</h3><p>---</p></div>
<div class="card" id="MYVAR"><h3>MYVAR</h3><p>---</p></div>
<br>
<button id="showBtn">Atribuir e Exibir</button>
<script>
document.getElementById("showBtn").onclick = function() {
var myVar = "Verde";
var myvar = "Laranja";
var MYVAR = "Roxo";
document.querySelector("#myVar p").textContent = myVar;
document.querySelector("#myvar p").textContent = myvar;
document.querySelector("#MYVAR p").textContent = MYVAR;
};
</script>
</body>
</html>
Exemplo: Regras de Nomenclatura na Prática
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Sintaxe JS - Regras de Nomenclatura</title>
<style>
body { font-family: Arial, sans-serif; max-width: 550px; margin: 60px auto; }
.rule { padding: 12px 16px; border-left: 4px solid #2196F3; background: #e3f2fd; margin: 8px 0; border-radius: 0 8px 8px 0; }
.bad { border-left-color: #f44336; background: #ffebee; }
.good { border-left-color: #4CAF50; background: #e8f5e9; }
code { background: #eceff1; padding: 2px 6px; border-radius: 3px; font-size: 14px; }
</style>
</head>
<body>
<h2>Regras de Nomenclatura de Variáveis</h2>
<div class="rule">✅ Permitido: letras, dígitos, sublinhado <code>_</code>, cifrão <code>$</code></div>
<div class="rule">✅ Não pode começar com dígito</div>
<div class="rule">✅ Não pode usar palavras-chave (como <code>var</code> <code>let</code> <code>function</code>)</div>
<div class="rule good">✅ Recomendado: camelCase — <code>primeiroNome</code> <code>notaTotal</code></div>
<div class="rule bad">❌ Não recomendado: <code>meu_primeiro_nome</code> (estilo com sublinhado é incomum em JS)</div>
<div class="rule bad">❌ Inválido: <code>2doLugar</code> (começa com dígito) <code>minha-var</code> (contém hífen)</div>
<hr style="margin: 24px 0;">
<h3>Exemplos de camelCase</h3>
<div id="demo" style="font-size: 18px; line-height: 2;"></div>
<script>
var firstName = "João";
var lastName = "Silva";
var ageInYears = 25;
var isStudent = true;
var favoriteLanguage = "JavaScript";
var demoEl = document.getElementById("demo");
demoEl.innerHTML = "firstName = \"" + firstName + "\"<br>" +
"lastName = \"" + lastName + "\"<br>" +
"ageInYears = " + ageInYears + "<br>" +
"isStudent = " + isStudent + "<br>" +
"favoriteLanguage = \"" + favoriteLanguage + "\"";
</script>
</body>
</html>
📖 Resumo
- Instruções JS terminam com ponto e vírgula — sempre adicione manualmente; não dependa da inserção automática
- Blocos de código usam
{}— mesmo para instruções únicas, nunca omita as chaves - Comentários de linha única usam
//, comentários de múltiplas linhas usam/* */— comentários devem explicar "por quê", não "o quê" - O JS é estritamente sensível a maiúsculas e minúsculas —
myVar≠myvaré o erro mais comum de iniciantes - Nomes de variáveis não podem começar com dígitos e não podem usar palavras-chave ou palavras reservadas
- camelCase é a convenção de nomenclatura recomendada:
primeiroNome,notaTotal
❓ Perguntas Frequentes
P:Omitir ponto e vírgula realmente pode causar bugs? R:Na maioria das vezes não, mas existem casos extremos. Por exemplo, uma quebra de linha após
returnfaz o JS inserir automaticamente um ponto e vírgula, retornandoundefinedem vez do valor pretendido. Esses bugs são extremamente sorrateiros — você pode depurar por horas para descobrir um ponto e vírgula faltando. Por que arriscar?
P:Devo adicionar chaves em instruções de uma linha? R:Sim. Hoje é uma linha; amanhã você pode adicionar mais duas. Esquecer de adicionar chaves depois causa erros de lógica. Chaves custam alguns bytes, mas economizam horas de depuração.
P:camelCase ou snake_case — qual é melhor? R:No mundo JS, camelCase (
primeiroNome) é o padrão. snake_case (primeiro_nome) é mais comum em Python e campos de banco de dados. Quando em Roma, faça como os romanos — use camelCase em JS.
📝 Atividades
- Básico: Escreva código JS que declare duas variáveis
nomeAlunoeidadeAluno, atribua valores a elas e imprima comconsole.log(). Certifique-se de que todas as instruções tenham ponto e vírgula e os nomes das variáveis usem camelCase. - Intermediário: Crie uma página com um campo de entrada e um botão. Quando o usuário inserir uma idade, determine se ele é maior de idade (≥18) usando um bloco if/else e exiba o resultado na página.
- Desafio: Crie uma página de "Verificador de Nomenclatura" onde o usuário insira um nome de variável. O JS verifica se é válido (sem dígitos no início, sem espaços ou hífens, não é uma palavra-chave) e exibe "Válido" ou "Inválido" com o motivo.



