Coerção de tipos: padrões seguros para evitar surpresas
Entenda a coerção implícita e explícita; prefira conversões claras com Number/String/Boolean; trate NaN com segurança.
Coerção de tipos: padrões seguros para evitar surpresas é uma aula grátis de JavaScript Academy no CoddyKit. Esta é a aula 3 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de JavaScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de JavaScript Academy inclui 3 aulas no total.
Introdução
Objetivo: Veja quando JavaScript converte tipos, quais resultados produz e como usar conversões explícitas para manter o comportamento previsível.
- Conversão implícita e explícita
- Number, String e Boolean
- Segurança com NaN

Demonstração da coerção implícita
+ com uma string aciona a concatenação; - e * tentam fazer uma conversão numérica.
// Implicit coercion can surprise beginners
console.log("5" + 1);
// "51" (string concatenation)
console.log(5 + "1");
// "51" (number -> string)
console.log("5" - 1);
// 4 (string -> number)
console.log("5" * 2);
// 10 (string -> number)

Conversões explícitas
Use Number(x), String(x) e Boolean(x) para manter a clareza.
// Prefer explicit, readable casts
const n = Number("42");
// 42
const s = String(42);
// "42"
const t = Boolean("hi");
// true (non-empty string)
const f = Boolean("");
// false (empty string)
console.log(n, s, t, f);

Number e parseInt
Number(x) exige uma string totalmente numérica; parseInt analisa somente os dígitos iniciais.
// Number vs parseInt with examples
console.log(Number("42"));
// 42 (full string must be numeric)
console.log(parseInt("42", 10));
// 42
console.log(parseInt("42px", 10));
// 42 (stops at non-digit)
console.log(Number("42px"));
// NaN (not a pure number)

Verificações de NaN
Use Number.isNaN para testar NaN sem conversão adicional.
// NaN is "Not a Number" and is not equal to itself
const bad = Number("oops");
// NaN
console.log(bad === NaN);
// false
console.log(Number.isNaN(bad));
// true (use this)
console.log(isNaN("5"));
// false (string coerces to number 5)

Lista de verificação de segurança
Padrões seguros:
- Prefira === e conversões explícitas.
- Use Number(x) para strings numéricas; evite truques engenhosos.
- Valide as entradas; verifique Number.isNaN após a análise.

Quiz sobre conversão explícita
Verificação rápida: conversão numérica explícita.

Recapitulação
Recapitulação: A coerção implícita pode causar surpresas. Prefira conversões explícitas com Number, String e Boolean e use Number.isNaN como proteção quando necessário.

Perguntas Frequentes
A aula “Coerção de tipos: padrões seguros para evitar surpresas” é grátis?
Sim — o texto completo de “Coerção de tipos: padrões seguros para evitar surpresas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de JavaScript Academy, atualize para CoddyKit PRO. O curso de JavaScript Academy inclui 3 aulas no total.
O que vou aprender em “Coerção de tipos: padrões seguros para evitar surpresas”?
Entenda a coerção implícita e explícita; prefira conversões claras com Number/String/Boolean; trate NaN com segurança. Você pratica JavaScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar JavaScript Academy?
Nenhuma experiência prévia é necessária. JavaScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 3.
Quanto tempo leva a aula “Coerção de tipos: padrões seguros para evitar surpresas”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de JavaScript Academy?
Sim. Cada aula de JavaScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Primitivos vs objetos e tipos fundamentais
- typeof, valores verdadeiros/falsos e == vs ===
- Coerção de tipos: padrões seguros para evitar surpresas