2.0 KiB
id | title | challengeType | videoUrl | forumTopicId | dashedName |
---|---|---|---|---|---|
599a789b454f2bbd91a3ff4d | Praticar a comparação de diferentes valores | 1 | https://scrimba.com/c/cm8PqCa | 301174 | practice-comparing-different-values |
--description--
Nos últimos dois desafios, aprendemos sobre o operador de igualdade (==
) e o operador de igualdade estrita (===
). Vamos fazer uma breve revisão e praticar usando esses operadores mais uma vez.
Se os valores sendo comparados não são do mesmo tipo, o operador de igualdade fará a conversão de tipo e, então, avaliará os valores. No entanto, o operador de igualdade estrita vai comparar ambos os tipos de dados e os valores, sem converter de um tipo para outro.
Exemplos
3 == '3'
retorna true
porque JavaScript faz a conversão de tipo de string para número. 3 === '3'
retorna falso porque os tipos são diferentes e não é feita a conversão de tipo.
Observação: em JavaScript, você pode determinar o tipo de uma variável ou de um valor, com o operador typeof
, como vemos a seguir:
typeof 3
typeof '3'
typeof 3
retorna a string number
e typeof '3'
retorna a string string
.
--instructions--
A função compareEquality
no editor compara dois valores usando o operador de igualdade. Modifique a função para que ela retorne a string Equal
apenas quando os valores forem estritamente iguais.
--hints--
compareEquality(10, "10")
deve retornar a string Not Equal
assert(compareEquality(10, '10') === 'Not Equal');
compareEquality("20", 20)
deve retornar a string Not Equal
assert(compareEquality('20', 20) === 'Not Equal');
Você deve usar o operador ===
assert(code.match(/===/g));
--seed--
--seed-contents--
// Setup
function compareEquality(a, b) {
if (a == b) { // Change this line
return "Equal";
}
return "Not Equal";
}
compareEquality(10, "10");
--solutions--
function compareEquality(a,b) {
if (a === b) {
return "Equal";
}
return "Not Equal";
}