Considere o seguinte trecho de código JavaScript:if (x !== 1...

Próximas questões
Com base no mesmo assunto
Q449682 Programação
Considere o seguinte trecho de código JavaScript:

if (x !== 10) {
document.write("correto");

}


De acordo com o trecho de código, a mensagem correto será impressa se o conteúdo armazenado na variável x for
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: B - diferente de 10 ou quando o tipo dessa variável não for numérico.

A questão aborda o conceito de comparação estrita no JavaScript, utilizando o operador !==, que compara tanto o valor quanto o tipo da variável. No trecho de código fornecido, a instrução if (x !== 10) verifica se a variável x não é igual a 10 e se também não é do mesmo tipo. Isso significa que se x for qualquer valor diferente de 10, ou se x for do mesmo valor mas de um tipo diferente (por exemplo, uma string '10' ao invés de um número 10), a condição se tornará verdadeira, e o programa imprimirá "correto".

A alternativa B é correta porque o operador !== faz a comparação de valor e tipo. Se x for, por exemplo, 10 (um número), a condição será falsa. Mas se x for '10' (uma string), a condição será verdadeira, porque mesmo que o valor numérico seja 10, o tipo é diferente (string e não número). Da mesma forma, qualquer outro valor que não seja numericamente 10, fará com que a condição seja verdadeira, e a mensagem será impressa.

Portanto, a mensagem "correto" será impressa se x for diferente de 10 em valor ou em tipo (ou seja, não numérico).

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

Em javascript, fazer uma comparação com 2 símbolos de igual (==), o resultado será indicado com true se ambos os valores são iguais. Apesar disto, devido às caracteristicas especiais da linguagem, se os valores comparados são de tipos diferente haverá uma conversão de tipos.

Ex: 

0 == false             //true    VIsto que o valor 0 é considerado falso em Javascript, devido à conversão

1234 == '1234'    //true     Visto que o JavaScript converte a cadeia de caracteres em números e... tornou-se igual novamente!! 

Quando utilizamos o operador triplo ( === ) não há conversão de tipos, por isso evita vários problemas já que os valores devem ser 100% iguais.

Ex: 

0 === false             //false 

1234 === '1234'    //false  


Clique para visualizar este comentário

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