Prof. Me. Danilo Bueno
Interatividade (Eventos): Ex: Criar botões de "Modo Escuro" ou menus "hamburger" que deslizam no celular.
Atualização em Tempo Real (Manipulação de Texto/HTML): Ex: O "Feed Infinito" das redes sociais ou mensagens de chat chegando sem recarregar a página.
Feedback Instantâneo (Validação): Ex: Avisar que a senha é fraca ou que o e-mail está errado enquanto o usuário digita.
Com JavaScript, para variar, podemos exibir "Hello, World!" de várias formas...
console.log("Hello, World!");
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0 " /> <title>Hello World</title> </head> <body> <h1>Hello, World!</h1> <script> console.log("Hello, World!"); </script> </body></html>
<button onclick="alert('Olá!')">Clique aqui</button>
<script>
<script> alert("Olá!");</script>
<script src="script.js"></script>
var
let
const
let nome = "Lenny";const idade = 30;var cidade = "Springfield";
$
_
nome
Nome
abrirModal
number
string
boolean
object
function
array
null
undefined
typeof
prompt()
let nome = prompt("Qual é o seu nome?");alert("Olá, " + nome + "!");
let idade = 25; // inteirolet preco = 19.99; // decimallet notacao = 2e3; // 2x10ˆ3 = 2000//operações aritméticaslet soma = 10 + 5; // 15let subtracao = 10 - 5; // 5let multiplicacao = 10 * 5; // 50let divisao = 10 / 5; // 2let modulo = 10 % 3; // 1 (resto da divisão)let potencia = 2 ** 3; // 8 (2 elevado a 3)
let soma = "10" + "5"; // "105" (concatenação)let subtracao = "10" - "5"; // 5 (subtração numérica)let multiplicacao = "10" * "5"; // 50 (multiplicação numérica)let divisao = "10" / "5"; // 2 (divisão numérica)let divisaoNaN = "10 teste" / 5; // NaN (Not a Number)
+
let idadeTexto = prompt("Sua idade:"); // sempre string, ex: "25"console.log(idadeTexto + 1); // "251" (concatenou!)let idade = Number(idadeTexto); // converte para number: 25console.log(idade + 1); // 26 (somou)
Number(valor)
NaN
String(valor)
Boolean(valor)
true
false
É por isso que todo valor vindo de prompt() precisa passar por Number(...) antes de qualquer conta.
Number(...)
++
--
let nome = "Lenny";let sobrenome = "Leonard";let concatenação = nome + " " + sobrenome; // Usando +let saudacao = `Olá, ${nome} ${sobrenome}!`; // Template string
let ligado = true;let desligado = false;
let maiorDeIdade = idade >= 18; // true ou falselet temCarteira = true;let podeDirigir = maiorDeIdade && temCarteira; // true se ambos forem true
alert()
console.log("Aparece no console"); // precisa abrir o DevTools (F12)alert("Aparece numa janela na tela"); // visível direto, sem abrir nada
console.log
alert
Combinando prompt() com alert(), entrada e saída ficam no mesmo lugar: nenhuma das duas exige abrir o DevTools.
if(true) { console.log("verdade");else { console.log("falso");}if(1 == 1) console.log("1 == 1");if(1 == '1') console.log("1 == '1'");if(1 === '1') console.log("1 === '1'");let msg = condicao ? "Caso verdadeiro" : "Caso falso";
let pessoa = { nome: "Lenny", idade: 30, cidade: "Springfield",};
let carro = { marca: "Fiat", modelo: "Uno", ano: 1997,};
carro.ano = 1998; // altera o ano para 1998 (SET)console.log(carro.marca); // exibe "Fiat" (GET)
let valorNulo = null;
let valorIndefinido;
[email protected] · website/docs · github
https://www.youtube.com/watch?v=4mgMZFHv1uM