Fala, galera, beleza?
Vendo esta aula, identifiquei que à medida que o curso avança, vai se tornando mais complexo, e com essa complexidade, as possibilidades de utilização dos vários símbolos e recursos do JavaScript começam a aparecer. Mas o que eu estou querendo dizer com isso? É que no desenvolvimento do game de adivinhação numérica, criamos um palpite que é guardado em uma variável do tipo número (number para os íntimos). E no prompt que pede a adivinhação do usuário, a saída fornecida pelo código é uma string, ou seja, digitamos um palpite numérico, porém a função prompt "devolve" um valor do tipo texto!
No caso do nosso app de adivinhação, não há na prática grande problema, porém, como forma de organizar nosso código, faz sentido apresentar os operadores de comparação que utilizam o símbolo de igualdade =
.
quando criamos uma variável (usando let ou const), utilizamos o símbolo de igual (=) para atribuir valores a essa variável, e tudo ok. Já quando queremos testar entre dois ou mais casos, o sentido do símbolo de igualdade se expande, pois temos dois e até três símbolos que podem ser utilizados. Vou explicar:
// testa se a string '5' e o número 5 são iguais
if('5' == 5) {
alert('os valores são iguais');
};
Na comparação acima, o resultado é verdadeiro, pois para o programa, '5' e 5 são iguais, embora isso possa parecer estranho a nós, devs iniciantes.
Comparação estrita
Quando em outro contexto mais específico, precisamos diferenciar e testar não apenas os valores das variáveis, mas também levando em conta o tipo delas, podemos utilizar o operador de comparação que verifica não apenas se os valores sao iguais, mas testa também o tipo da variável.
// Aqui, serão testados o valor e o tipo da variável
let stringNumber = '5';
let number = 5;
// Embora os valores sejam parecidos, com o operador de comparação de tipos (===), a comparação retorna false
if (stringNumber === number) {
alert('Os valores são iguais');
}else {
alert('Os valores são diferentes')
};
Como o tipo de dado string é diferente do tipo number, a linha com o código else
será executada, retornando a mensagem "Os valores são diferentes".