Carregando...

Conversão de tipos

Você já separa null e undefined. Próximo passo: mudar de propósito o tipo de um valor — número em texto para rótulo, texto em número para contas. Isso é conversão de tipos. Aqui ficamos com ajudantes claros: String(), Number() e Boolean() — mais uma surpresa comum com +.

O que é conversão de tipos em JavaScript?

Conversão de tipos significa levar um valor de um tipo para outro. Prefira a forma explícita: String(42) vira "42", Number("7") vira 7, Boolean(0) vira false. Se Number não entende o texto, você recebe NaN. Com +, se há string de um lado, muitas vezes concatena em vez de somar — registre uma vez para fixar.

Kit de conversão

📊 Conversão de tipos para iniciantes

Ajudante / ideia Exemplo Resultado / nota
String(...) String(42) "42" (texto)
Number(...) Number("7") 7 (número)
Boolean(...) Boolean(0) false (prévia falsy)
Texto não numérico Number("hello") NaN — typeof ainda "number"
Vazio → booleano Boolean("") false
Mistura com + 5 + "2" "52" (concatena, não 7)

String() — criar texto

Quando precisar de rótulo ou mensagem, envolva o valor em String(...). Números, booleanos, null e undefined viram strings para mostrar ou juntar.

conversões com String()

javascript
console.log(String(42));
console.log(String(true));
console.log(String(null));
console.log(String(undefined));
console.log(typeof String(42));

Number() — criar um número

Use Number(...) quando o texto precisa servir para matemática. Strings de dígitos convertem bem. Texto não numérico vira NaN.

conversões com Number()

javascript
console.log(Number("7"));
console.log(Number("3.5"));
console.log(Number(true));
console.log(Number(false));
console.log(typeof Number("7"));

Quando Number falha — NaN

Number("hello") é NaN. Lembre da lição de números: typeof NaN ainda é "number". Trate NaN como conversão falha, não como quantidade útil.

armadilha Number vira NaN

javascript
console.log(Number("hello"));
console.log(typeof Number("hello"));
console.log(Number(""));
console.log(Number(null));

Number("") e Number(null) viram 0 — outra armadilha para iniciantes. Para um valor real, use strings de dígitos claras.

Boolean() — sim/não a partir de um valor

Boolean(...) transforma em true ou false. Vazios como 0, "", null, undefined e NaN viram false. Strings não vazias e a maioria dos números viram true. A lista completa truthy / falsy vem na próxima — aqui basta o ajudante.

conversões com Boolean()

javascript
console.log(Boolean(1));
console.log(Boolean(0));
console.log(Boolean("hi"));
console.log(Boolean(""));
console.log(Boolean(null));

A surpresa do + — concatenar vs somar

Se um lado de + é string, o JavaScript costuma juntar texto em vez de somar. Quando quiser matemática, converta antes com Number().

mais pode concatenar

javascript
console.log(5 + 2);
console.log(5 + "2");
console.log(Number("5") + Number("2"));
console.log("Score: " + 10);

Mostrar conversões na página

Converta alguns valores e escreva rótulos curtos com textContent.

Rótulos da página após conversão

html
<!DOCTYPE html>
<html>
<head>
<title>Type conversion — labels</title>
</head>
<body>
<p id="out">…</p>
<script>
let raw = "12";
let asNumber = Number(raw);
let asText = String(asNumber);
let flag = Boolean(asNumber);
document.getElementById("out").textContent =
"raw=" + raw +
" | number=" + asNumber +
" | text=" + asText +
" | flag=" + flag;
</script>
</body>
</html>

O parágrafo mostra a mesma ideia em três formas. Mude raw para "0", atualize e veja flag ficar false enquanto o número continua 0.

Experimente você

  1. Registre String(99), String(false) e typeof String(99).
  2. Registre Number("8") e Number("8") + 2 — conta, não "82".
  3. Registre Number("oops") e o typeof (NaN, ainda "number").
  4. Registre Boolean("") e Boolean("ok").
  5. Registre 3 + "4" e reescreva com Number("3") + Number("4").
  6. No demo HTML, raw = "0", atualize e leia o novo flag.

Erros comuns

  • Achar que + sempre soma — uma string pode concatenar
  • Ignorar NaN após Number("hello") e calcular mesmo assim
  • Pensar que esta lição substitui truthy / falsy — Boolean() é só prévia
  • Esperar que String(null) seja "" — é o texto "null"
  • Esquecer typeof quando o resultado parece estranho

Resumo

  • Conversão de tipos: mudar de propósito o tipo de um valor
  • Prefira String(), Number(), Boolean() para intenção clara
  • Texto não numérico → NaN; typeof NaN continua "number"
  • + com string costuma concatenar — converta antes de somar
  • Próximo: truthy e falsy — quais valores agem como true ou false em condições

🧠 Teste Seu Conhecimento

Pronto para Começar

Teste Seu Conhecimento

Desafie-se com este questionário interativo e veja o quão bem você entende o tópico

❓
8
Perguntas
🎯
70%
Para Passar
♾️
∞
Tempo
🔄
∞
Tentativas

📝 Instruções

  • Leia cada pergunta cuidadosamente
  • Selecione a melhor resposta para cada pergunta
  • Você pode refazer o quiz quantas vezes quiser
  • Seu progresso será mostrado no topo