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

Double Equals против Triple Equals в JavaScript

В отличие от других языков у JavaScript есть два способа определения равенства. Это может быть довольно запутанным для … Tagged with JavaScript, WebDev, новички.

В отличие от других языков у JavaScript есть два способа определения равенства. Это может быть довольно запутанным для таких людей, как я, приезжающие из типированных языков, таких как Java или C ++. Моя цель – объяснить как ясную, так и краткую манеру с помощью определения и примеров.

Рубец равна (строгое равенство)

Тройной равенство сравнивает два значения для равенства. Нет дополнительной работы, она просто проверяет, имеют ли оба значения одинаковый тип, и если они это делают, проверяет, одинаковы ли два значения. Если типы не те же, он возвращает ложь. Если типы одинаковы, но значения различны, они возвращают false. Вот некоторые примеры:

7 === 7     //true
7 === '7'   // false

Двойное равное (свободное равенство)

Сравнение двойного равных работает, сначала преобразование оба значения в общий тип, а затем проходя строгое сравнение AS. Давайте посмотрим на пример, чтобы сделать объяснение немного более понятным. Приведенный ниже код сравнивает число и строку. Сравнение двойного равных сначала преобразует оба значения в общий тип (в данном случае число), а затем проводят строгое сравнение (т. Е. Он проверяет, если 17 и 17 являются одинаковыми типами и равны, что является истинным, поскольку на предыдущем этапе он преобразовано оба значения в число).

17 == '17' // true
17 == 17   // true

Закрытие

Трудно забыть разницу между ними. При этом я рекомендую вам написать код, который позволяет использовать Triple Equals, а не два раза. Использование двойных равных может привести к нежелательным преобразованию, дающим неточные результаты.

Оригинал: “https://dev.to/rsanchezp/double-equals-vs-triple-equals-in-javascript-34fp”