JavaScript · Intermediário · Português · Técnico
coerção de tipos
Conversão automática ou explícita de um valor para outro tipo. A implícita ocorre em operadores como + e ==, seguindo regras próprias que geram resultados surpreendentes.
Onde usar
Gera as piadas clássicas da linguagem, como '5' + 3 dar '53' e '5' - 3 dar 2. Em code review, prefira conversões explícitas com Number(), String() e Boolean().
Em código
console.log('5' + 3); // '53'
console.log('5' - 3); // 2
console.log([] + {}); // '[object Object]'
console.log(Number('7') + 1); // 8Exemplos
O resultado estranho vem da coerção de tipos do operador mais.
Prefira conversão explícita a depender de coerção de tipos.
Cuidado
Achar que o + sempre soma: se um dos lados for string, ele concatena.
Sinônimos
conversão de tipos, type coercion