--- id: 599a789b454f2bbd91a3ff4d title: Practice comparing different values challengeType: 1 videoUrl: '' localeTitle: Pratique a comparação de valores diferentes --- ## Description
Nos dois últimos desafios, aprendemos sobre o operador de igualdade ( == ) 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 number
3 === '3' // retorna falso porque os tipos são diferentes e o tipo de conversão não é executado
Nota
Em JavaScript, você pode determinar o tipo de uma variável ou um valor com o operador typeof , da seguinte maneira:
typeof 3 // retorna 'number'
typeof '3' // retorna 'string'
## Instructions
A função 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.
## Tests
```yml tests: - text: '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");' ```
## Challenge Seed
```js // Setup function compareEquality(a, b) { if (a == b) { // Change this line return "Equal"; } return "Not Equal"; } // Change this value to test compareEquality(10, "10"); ```
## Solution
```js // solution required ```