Оператор сравнения JavaScript '===' vs '=='
В Javascript (ES6) существует четыре способа проверки равенства, которые перечислены ниже:
- Использование оператора '=='
- Использование оператора '==='
- SameValueZero: используется в основном в наборах, картах и массивах.
- SameValue: используется в другом месте
Теперь наша главная забота — узнать разницу между операторами '==' и '===', которые предоставляет javascript, хотя они выглядят одинаково, но они очень разные.
Оператор JavaScript '==': в Javascript оператор '==' также известен как оператор свободного равенства, который в основном используется для сравнения двух значений с обеих сторон, а затем возвращает значение true или false. Этот оператор проверяет равенство только после преобразования обоих значений в общий тип, т.е. приведение типов .
Примечание. Приведение типа означает, что два значения сравниваются только после попытки преобразовать их в один и тот же тип. Давайте посмотрим на все значения, в которых оператор '==' вернет true.
Example 1:
javascript
<script> // "==" operator console.log(21 == 21); console.log(21 == "21" ); console.log( "food is love" == "food is love" ); console.log( true == 1); console.log( false == 0); console.log( null == undefined); </script> |
Вывод: в приведенном выше коде, когда мы сравниваем 21 с «21», javascript преобразует «21» в числовое значение 21, и, следовательно, мы получаем true, подобное происходит, когда мы пытаемся проверить, если «true == 1 ', в этом случае javascript в основном преобразует 1 в истинное значение, а затем сравнивает и возвращает логическое значение true. Случай (null == undefined) особенный, так как когда мы сравниваем эти значения, мы получаем истину, но не совсем понятно, почему? В javascript есть два типа значений: true или false
true true true true true true
Истинный
- '0'
- 'false' // ложь, заключенная в строку.
- []
- {}
- функция () {}
ЛОЖЬ
- ” или “” // пустая строка
- ЛОЖЬ
- 0
- нулевой
- неопределенный
- NaN // не число
Таким образом, и null, и undefined являются ложными значениями, и они представляют собой «пустое» значение или значение undefined в js, поэтому сравнение с оператором «==» возвращает true. Теперь давайте посмотрим на все значения, в которых оператор '==' вернет false.
Пример 2: В этом коде, когда мы сравниваем null с false, мы получаем false, поскольку null, будучи примитивным типом данных, никогда не может быть равен логическому значению, даже если они принадлежат к одной и той же группе false.
Выход:
false false false false
Оператор JavaScript '===': также известный как оператор строгого равенства, он сравнивает как значение, так и тип, поэтому название «строгое равенство».
Пример 1: Давайте посмотрим на код, в котором оператор '===' возвращает значение true.
Выход:true true true
Пример 2: Просто проверьте типы и значения с обеих сторон, а затем просто распечатайте логическое значение true или false. Некоторые примеры, когда он вернет false.
Выход:false false false
Пожалуйста, прочтите статью Разница между двойным и тройным равенством в JavaScript, чтобы сравнить операторы '===' и '=='.