Considere as instruções abaixo em um bloco JavaScript em que...

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

Considere as instruções abaixo em um bloco JavaScript em que as variáveis a, b, c e d foram adequadamente declaradas.

a = (1 == "1");

b = (1 === "1");

c = (0 === "");

d = (0 == "");

Pode-se concluir que, após as linhas acima serem executadas, os valores armazenados nas variáveis a, b, c e d serão, respectivamente,

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a Letra A, ou seja, os valores armazenados nas variáveis a, b, c e d serão, respectivamente, true, false, false e true.

Essa questão aborda um conceito fundamental em JavaScript que é a comparação de valores utilizando os operadores de igualdade == e ===. O operador == compara se os valores são iguais, mas permite a coerção de tipo, ou seja, converte os valores para um tipo comum antes de fazer a comparação. Por outro lado, o operador ===, conhecido como a comparação de igualdade estrita, verifica se os valores são iguais e do mesmo tipo, não permitindo a coerção de tipo.

Na primeira linha de código, a = (1 == "1"), estamos usando o operador de igualdade ==, que vai retornar true porque 1 e "1" são iguais após a coerção de tipo (o número 1 é convertido para a string "1").

Na segunda linha, b = (1 === "1"), estamos usando o operador de igualdade estrita ===, que vai retornar false, pois apesar de terem valores numéricos equivalentes, eles são de tipos diferentes (um é número e o outro é string).

Na terceira linha, c = (0 === ""), novamente usamos o operador de igualdade estrita ===. Aqui, 0 é um número e a string vazia "" é de outro tipo, logo a comparação retorna false porque eles não são do mesmo tipo nem têm o mesmo valor.

Por fim, na quarta linha, d = (0 == ""), usamos o operador de igualdade ==, que permite a coerção de tipo. A string vazia "" é considerada falsy em JavaScript, assim como o número 0, então após a coerção de tipo, eles são considerados iguais, e a comparação retorna true.

Este conhecimento é essencial para evitar bugs e entender comportamentos inesperados em comparações no JavaScript. Compreender a diferença entre == e === é uma habilidade fundamental para qualquer desenvolvedor que trabalha com esta linguagem.

Clique para visualizar este gabarito

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

Comentários

Veja os comentários dos nossos alunos

O operador "==" não leva em considração o tipo de dados, já o "===" sim.

LETRA A

= -> Operador de atribuição

== -> Operador que verifica se os valores são iguais, por exemplo trur == 1 é verdade

=== -> Operador que verifica se os valores são iguais e do mesmo tipo, por exemplo true === 1 é falso

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo