Строгое и нестрогое равенство
Часть раздела Основы путешествия по 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В общем случае рекомендуется использовать строгое равенство (===) в большинстве случаев, чтобы избежать неожиданных результатов из-за приведения типов.
Аналогично, существуют также операторы нестрогого неравенства (!=) и строгого неравенства (!==), которые работают аналогичным образом, но проверяют неравенство вместо равенства.
Нестрогое неравенство (!=) проверяет, не равны ли два значения после выполнения приведения типов, в то время как строгое неравенство (!==) проверяет, не равны ли два значения без выполнения преобразования типов.
Задание
НовичокВам дан код с тремя переменными: a, b и c.
Ваша задача — выполнить следующие сравнения и вывести результаты:
- Проверьте, является ли
aнестрого равнымb, и сохраните результат вd. - Проверьте, является ли
aстрого равнымc, и сохраните результат вe. - Проверьте, является ли
bнестрого не равнымc, и сохраните результат вf. - Проверьте, является ли
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}`)В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 3Приведение типов7Калькулятор разделения счета
Приветственное сообщениеРасчет чаевых и общей суммы2Переменные
ЧислаСтрокиBooleanПравила именованияПустые переменныеИтоги: Инициализация переменныхКонстанты5Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторВложенные конструкции If - ElseОператор Switch3Операторы, часть 1
Арифметические операторыОператор остатка от деленияАрифметические сокращенияОператоры сравненияСтрогое и нестрогое равенствоПовторение: простая математика6Основы ввода-вывода
ВыводВывод с переменнымиПреобразование типов — Часть 1Преобразование типов — Часть 2Повторение — До 120Повторение — True или False