Tendo em vista a Linguagem de Programação Javascript, assina...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: B - O operador "==" compara apenas valores, enquanto o operador "===" compara valores e tipos de dados.
Ao trabalhar com a linguagem de programação JavaScript, é fundamental entender as diferenças entre os operadores de comparação "==" (igualdade abstrata) e "===" (igualdade estrita). O operador "==" compara a igualdade entre dois valores, mas permite a conversão de tipos (coerção de tipo) caso eles não sejam do mesmo tipo, o que pode levar a resultados não intencionais. Por outro lado, o operador "===" é mais rigoroso e compara tanto o valor quanto o tipo de dados, não realizando conversão de tipos.
Por exemplo, se compararmos a string '10' com o número 10 utilizando o operador "==", a expressão seria verdadeira ('10' == 10
), porque o JavaScript converte a string '10' para o número 10 antes de fazer a comparação. No entanto, usando o operador "===", a mesma comparação resultaria em falso ('10' === 10
), pois embora os valores sejam iguais, seus tipos são diferentes (string e número, respectivamente).
Esse conhecimento é crucial para evitar bugs e comportamentos inesperados em seu código. Por isso, a alternativa B é a correta, pois ela descreve com precisão a funcionalidade e o comportamento dos dois operadores de comparação em JavaScript.
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
b-
The equality (==) operator checks whether its two operands are equal, returning a Boolean result. Unlike the strict equality operator, it attempts to convert and compare operands that are of different types.
console.log(1 == 1);
// Expected output: true
console.log('hello' == 'hello');
// Expected output: true
console.log('1' == 1);
// Expected output: true
console.log(0 == false);
// Expected output: true
The strict equality (===) operator checks whether its two operands are equal, returning a Boolean result. Unlike the equality operator, the strict equality operator always considers operands of different types to be different.
console.log(1 === 1);
// Expected output: true
console.log('hello' === 'hello');
// Expected output: true
console.log('1' === 1);
// Expected output: false
console.log(0 === false);
// Expected output: false
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Strict_equality
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo