Рубрики
Без рубрики

JavaScript Triple Contract Sign VS Double Double Calials – Сравнительные операторы, объясненные примерами

Возможно, вы видели двойные и тройные равные знаки в JavaScript. Но что они имеют в виду? Хорошо мало: преобразует тип и не преобразовывать тип. Двойной равняется (==) проверки только на ценность равенства. Он по своей сути делает тип принуждения. Это означает, что перед проверкой значений он преобразует типы

Автор оригинала: Shruti Kapoor.

Возможно, вы видели двойные и тройные равные знаки в JavaScript. Но что они имеют в виду?

Хорошо мало: == по своей сути конвертирует тип и === не преобразует тип.

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

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

ОК, поэтому давайте поможем вам лучше понять разницу через несколько примеров. Для каждого из них считают то, что будет результатом этих заявлений.

Пример 1:

const foo = "test" 
const bar = "test"  

console.log(foo == bar) //true
console.log(foo === bar) //true                            

Значение и тип обоих Foo и бар такой же. Поэтому результат является правда для обоих.

Пример 2:

const number = 1234 
const stringNumber = '1234'  

console.log(number == stringNumber) //true
console.log(number === stringNumber)  //false                                   

Значение Номер и StringNumber выглядит похоже здесь. Однако тип Номер это Номер и тип StringNumber это строка Отказ Несмотря на то, что значения такие же, тип не то же самое. Следовательно, а == Проверить возвраты правда , но когда проверено на значение и Тип, значение это ложь Отказ

Пример 3:

console.log(0 == false) //true
console.log(0 === false) //false                  

Причина: такое же значение, другой тип. Тип принуждения

Это интересный случай. Значение 0 Когда проверено с ложь такой же. Это так, потому что 0 и ложь иметь одинаковое значение для JavaScript, но при проверке типа и значение, значение ложно, потому что 0 это Номер и ложь это логический Отказ

Пример 4:

const str = ""

console.log(str == false) //true
console.log(str === false) //false

Значение пустой строки и ложь это же в JavaScript. Следовательно, == возвращает true. Тем не менее, тип другой и, следовательно, === Возвращает false.

Когда вы должны использовать, когда вы должны использовать ===?

Под сомнением, используйте === Отказ Это сэкономит вас от тонны потенциальных ошибок.

Если вы поддерживаете случаю использования, где вы можете быть немного снисходительным относительно типа входящих данных, а затем использовать == Отказ Например, если API принимает оба «Правда» и правда от клиента, используйте == Отказ Короче говоря, не используйте == Если у вас нет сильного корпуса для этого.

Вот удобная таблица прав истины JavaScript для вашей справки, и показать вам, насколько сложное равенство находится в JavaScript:

Если вам понравилось эту статью, обязательно следите за мной в Twitter для обновлений.

Q: Сколько места будет освобождено, когда Британия покинет ЕС? Отказ Отказ Отказ A: 1 ГБ #Devjoke #Notajoke.