Menu
Coddy logo textTech

Строгое и нестрогое равенство

Часть раздела Основы путешествия по JavaScript на Coddy — урок 16 из 77.

В JavaScript существует два типа операторов сравнения: нестрогое равенство (==) и строгое равенство (===).

Нестрогое равенство (==) проверяет, равны ли два значения после выполнения приведения типов. Это означает, что если операнды имеют разные типы, JavaScript попытается привести их к общему типу перед выполнением сравнения.

Например:

let b = 5 == "5";   // Возвращает true, так как строка "5" преобразуется в число 5 перед сравнением
let b = 0 == false; // Содержит true, так как логическое значение false преобразуется в число 0 перед сравнением

Строгое равенство (===), с другой стороны, проверяет, равны ли два значения без выполнения какого-либо приведения типов. Если операнды имеют разные типы, они считаются не равными.

Например:

let b = 5 === "5";   // Содержит false, так как преобразование типов не выполняется, и число не равно строке
let b = 0 === false; // Содержит false, так как преобразование типов не выполняется, и число 0 не равно логическому значению false

В общем случае рекомендуется использовать строгое равенство (===) в большинстве случаев, чтобы избежать неожиданных результатов из-за приведения типов.

Аналогично, существуют также операторы нестрогого неравенства (!=) и строгого неравенства (!==), которые работают аналогичным образом, но проверяют неравенство вместо равенства.

Нестрогое неравенство (!=) проверяет, не равны ли два значения после выполнения приведения типов, в то время как строгое неравенство (!==) проверяет, не равны ли два значения без выполнения преобразования типов.

challenge icon

Задание

Новичок

Вам дан код с тремя переменными: a, b и c.

Ваша задача — выполнить следующие сравнения и вывести результаты:

  1. Проверьте, является ли a нестрого равным b, и сохраните результат в d.
  2. Проверьте, является ли a строго равным c, и сохраните результат в e.
  3. Проверьте, является ли b нестрого не равным c, и сохраните результат в f.
  4. Проверьте, является ли a строго не равным b, и сохраните результат в g.

Используйте данные переменные и операторы сравнения для выполнения задачи.

Шпаргалка

В JavaScript есть два типа операторов равенства:

Нестрогое равенство (==) выполняет приведение типов перед сравнением:

5 == "5"   // true - строка "5" преобразована в число 5
0 == false // true - логическое false преобразовано в число 0

Строгое равенство (===) сравнивает без приведения типов:

5 === "5"   // false - число против строки, без преобразования
0 === false // false - число против логического значения, без преобразования

Аналогично для операторов неравенства:

  • Нестрогое неравенство (!=) — выполняет приведение типов
  • Строгое неравенство (!==) — без приведения типов

Рекомендуется использовать строгое равенство (===), чтобы избежать неожиданных результатов из-за приведения типов.

Попробуйте сами

// Заданные переменные
let a = 10
let b = "10"
let c = true

// Введите ваш код ниже


// Не изменяйте строку ниже
console.log(`d = ${d}`)
console.log(`e = ${e}`)
console.log(`f = ${f}`)
console.log(`g = ${g}`)
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы