Coerção implícita em operações
Preveja como + e as comparações fazem coerção de tipos.
Coerção implícita em operações é uma aula grátis de JavaScript Academy no CoddyKit. Esta é a aula 3 de 4. 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 4 aulas no total.
Conversão implícita
Conversão implícita acontece quando um operador converte operandos para um tipo necessário à operação. Operadores diferentes acionam conversões diferentes.
console.log("5" + 1)
console.log("5" - 1)Adição com textos
O operador de adição é especial: se qualquer operando for um texto, ele realiza concatenação de textos em vez de uma adição numérica.
console.log("3" + 4)
console.log(3 + "4")
console.log("a" + 1 + 2)Número mais número
Quando ambos os operandos são números, a adição os soma. A ordem das operações é importante quando textos aparecem mais adiante na sequência.
console.log(1 + 2 + "3")
console.log("1" + 2 + 3)A subtração força números
O operador de subtração não tem um significado textual, portanto sempre converte ambos os operandos para números, até mesmo textos que parecem numéricos.
console.log("10" - "4")
console.log("10" - 4)Multiplicação e divisão
Assim como a subtração, os operadores de multiplicação e divisão convertem os operandos para números. Textos não numéricos produzem NaN.
console.log("6" * "2")
console.log("abc" * 2)Adição unária
Uma adição unária diante de um valor o converte para um número, uma forma compacta de realizar essa conversão.
console.log(+"42")
console.log(+"3.14")
console.log(+true)Conversão em comparações
Operadores relacionais, como menor que, convertem os operandos para números, a menos que ambos sejam textos; nesse caso, eles são comparados em ordem alfabética.
console.log("10" > 5)
console.log("apple" < "banana")Comparações mistas
Quando um lado é um texto e o outro é um número, o texto é convertido para um número antes da comparação.
console.log("20" > 3)
console.log("3" > 20)Booleanos na aritmética
Os booleanos se tornam 1 ou 0 na aritmética, portanto adicionar verdadeiro a um número o incrementa.
console.log(true + true)
console.log(5 + false)Vetores em conversões
Os vetores são convertidos para textos quando usados com a adição. Um vetor vazio se torna um texto vazio, e um vetor com um único elemento se torna esse elemento em forma de texto.
console.log([] + [])
console.log([1, 2] + [3])Evitando surpresas
Para evitar concatenações acidentais ou NaN, converta explicitamente com uma conversão numérica ou textual antes de operar. Deixar clara a intenção é melhor do que depender de conversões implícitas.
const a = "5"
const b = "3"
console.log(Number(a) + Number(b))Verificação rápida
Teste seus conhecimentos sobre conversões implícitas.
Recapitulação
Recapitulação: Os operadores acionam conversões diferentes.
- A adição concatena quando qualquer operando é um texto
- Subtração, multiplicação e divisão forçam conversões para números
- As comparações convertem para números, a menos que ambos sejam textos
- Converta explicitamente para evitar surpresas
console.log("5" + 1)
console.log("5" - 1)Perguntas Frequentes
A aula “Coerção implícita em operações” é grátis?
Sim — o texto completo de “Coerção implícita em operações” é 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 4 aulas no total.
O que vou aprender em “Coerção implícita em operações”?
Preveja como + e as comparações fazem coerção de tipos. 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 4.
Quanto tempo leva a aula “Coerção implícita em operações”?
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
- Valores truthy e falsy
- Igualdade flexível versus estrita
- Coerção implícita em operações
- Técnicas de conversão explícita