freeCodeCamp/curriculum/challenges/portuguese/02-javascript-algorithms-an.../basic-javascript/practice-comparing-differen...

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";
}