Considere o seguinte trecho de código JavaScript: let a = "5"; let b = 5; console.log(a == b); console.log(a === b); Qual será a saída exibida no console?
Questão
Considere o seguinte trecho de código JavaScript: let a = "5"; let b = 5; console.log(a == b); console.log(a === b); Qual será a saída exibida no console?
Alternativas
A) true true
B) false true
C) true false
D) false false
E) Erro de comparação de tipos
Explicação
- Temos:
- (string)
- (number)
- Comparação com == (igualdade frouxa):
- O operador == faz coerção de tipos quando necessário.
- A string "5" é convertida para número e então compara .
- Resultado: true.
- Comparação com === (igualdade estrita):
- O operador === não faz coerção de tipos.
- Ele exige mesmo valor e mesmo tipo.
- Aqui é string ("5") vs number (5), então já falha por tipo.
- Resultado: false.
Portanto, o console exibirá: true false
Alternativa correta: (C).