ExpertiDict

JavaScript · Intermediário · Português · Técnico

coerção de tipos

/koeɾˈsɐ̃w̃ dʒi ˈtʃipus/substantivo

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); // 8

Exemplos

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

Veja também

Todos os termos de JavaScript