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.
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.
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.
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.
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().
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.
<!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ê
- Registre
String(99),String(false)etypeof String(99). - Registre
Number("8")eNumber("8") + 2— conta, não"82". - Registre
Number("oops")e otypeof(NaN, ainda"number"). - Registre
Boolean("")eBoolean("ok"). - Registre
3 + "4"e reescreva comNumber("3") + Number("4"). - No demo HTML,
raw="0", atualize e leia o novoflag.
Erros comuns
- Achar que
+sempre soma — uma string pode concatenar - Ignorar
NaNapósNumber("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
typeofquando 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 NaNcontinua"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
Teste Seu Conhecimento
Desafie-se com este questionário interativo e veja o quão bem você entende o tópico
📝 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