3.1 KiB
Raw Blame History

id, title, challengeType, videoUrl, forumTopicId, localeTitle
id title challengeType videoUrl forumTopicId localeTitle
599a789b454f2bbd91a3ff4d Practice comparing different values 1 https://scrimba.com/c/cm8PqCa 301174 Практика сравнения разных значений

Description

В двух последних проблемах мы узнали об операторе равенства ( == ) и строгого оператора равенства ( === ). Давайте сделаем быстрый обзор и практикуем использование этих операторов еще немного. Если сравниваемые значения не относятся к одному типу, оператор равенства выполняет преобразование типа, а затем оценивает значения. Тем не менее, строгий оператор равенства будет сравнивать как тип данных, так и значение as-is, без преобразования одного типа в другой. Примеры
3 == '3' // возвращает true, потому что JavaScript выполняет преобразование типов из строки в число
3 === '3' // возвращает false, потому что типы разные, и преобразование типов не выполняется
Заметка
В JavaScript вы можете определить тип переменной или значение с помощью оператора typeof следующим образом:
typeof 3 // возвращает 'number'
typeof '3' // возвращает 'string'

Instructions

Функция compareEquality в редакторе сравнивает два значения с помощью equality operator . Измените функцию так, чтобы она возвращала «Равно» только тогда, когда значения строго равны.

Tests

tests:
  - text: <code>compareEquality(10, "10")</code> should return "Not Equal"
    testString: assert(compareEquality(10, "10") === "Not Equal");
  - text: <code>compareEquality("20", 20)</code> should return "Not Equal"
    testString: assert(compareEquality("20", 20) === "Not Equal");
  - text: You should use the <code>===</code> operator
    testString: assert(code.match(/===/g));

Challenge Seed

// 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

function compareEquality(a,b) {
  if (a === b) {
    return "Equal";
  }
  return "Not Equal";
}