==
) e o operador de igualdade estrito ( ===
). Vamos fazer uma revisão rápida e praticar o uso desses operadores um pouco mais. Se os valores que estão sendo comparados não forem do mesmo tipo, o operador de igualdade executará uma conversão de tipo e, em seguida, avaliará os valores. No entanto, o operador de igualdade estrita irá comparar tanto o tipo de dados quanto o valor como está, sem converter um tipo para o outro. Exemplos 3 == '3' // retorna verdadeiro porque o JavaScript executa conversão de tipo de string para numberNota
3 === '3' // retorna falso porque os tipos são diferentes e o tipo de conversão não é executado
typeof
, da seguinte maneira: typeof 3 // retorna 'number'
typeof '3' // retorna 'string'
compareEquality
no editor compara dois valores usando o equality operator
. Modifique a função para que ela retorne "Equal" somente quando os valores forem estritamente iguais. compareEquality(10, "10")
deve retornar "Not Equal"'
testString: 'assert(compareEquality(10, "10") === "Not Equal", "compareEquality(10, "10")
should return "Not Equal"");'
- text: 'compareEquality("20", 20)
deve retornar "Not Equal"'
testString: 'assert(compareEquality("20", 20) === "Not Equal", "compareEquality("20", 20)
should return "Not Equal"");'
- text: Você deve usar o operador ===
testString: 'assert(code.match(/===/g), "You should use the ===
operator");'
```