Assinale a alternativa correta que apresenta o valor exibido...

Próximas questões
Com base no mesmo assunto
Q4110117 Programação

Assinale a alternativa correta que apresenta o valor exibido quando executado o código Javascript


var inteiro1 = 10;

var inteiro2;

console.log(inteiro1 === “10”);

console.log(inteiro2 == null);

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: A

Fundamento decisivo: A decisão dependia de distinguir igualdade estrita (===) de igualdade abstrata (==) e de reconhecer que a variável declarada sem atribuição vale undefined, o que conduz a false na primeira comparação e true na segunda.

Tema central: Comparações em JavaScript
Análise das alternativas
A
Certa
A alternativa A está correta porque a primeira comparação usa igualdade estrita (===), que exige igualdade de valor e de tipo ao mesmo tempo; por isso, o número 10 não é estritamente igual à string "10". Já a segunda comparação usa igualdade abstrata (==): como inteiro2 foi declarada sem inicialização, seu valor é undefined, e nessa comparação específica undefined == null resulta true.
B
Errada
Está errada porque acerta a primeira saída, mas erra a segunda. inteiro2 não inicializada vale undefined, e na igualdade abstrata vale a equivalência específica undefined == null, que resulta true, não false.
C
Errada
Está errada porque erra a primeira saída. A comparação foi feita com ===, que também compara o tipo; assim, number 10 e string "10" não são estritamente iguais.
D
Errada
Está errada nas duas saídas. Nem 10 === "10" pode resultar true, porque há tipos diferentes, nem inteiro2 == null pode resultar false, porque inteiro2 sem valor é undefined e undefined == null é true.
Pegadinha da questão
A questão explora duas confusões reais: tratar === como se fizesse conversão de tipo e supor que variável declarada sem valor seja null, quando ela fica undefined; além disso, == considera undefined e null iguais.
Dica para questões semelhantes
  • Em JavaScript, === só retorna true quando valor e tipo coincidem.
  • Variável declarada sem atribuição tem valor undefined, não null.
  • Na igualdade com ==, há a equivalência específica entre undefined e null.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo