Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник JavaScript

Strict equality (===)

Сравнивает значения без преобразования типов.

Доступно с: ES3

Синтаксис

a === b / a !== b

Примеры

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

console.log(5 === 5);
console.log(5 === '5');
console.log(5 == '5');

Результат:

true
false
true

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

console.log(0 == '');
console.log(null == undefined);
console.log(null === undefined);

Результат:

true
true
false

Объекты сравниваются по ссылке:

const a = { x: 1 };
const b = { x: 1 };
 
console.log(a === b);
console.log(a === a);

Результат:

false
true

Примечания

Всегда используйте === и !==. Нестрогое == перед сравнением приводит типы по запутанным правилам. Единственное частое исключение — value == null, которое проверяет сразу и null, и undefined.

См. также

  • Object.is — Сравнивает два значения почти как ===, но правильно обрабатывает NaN и -0.
  • typeof — Возвращает строку с типом значения.
  • Number.isNaN — Проверяет, что значение — NaN, без преобразования типов.

В учебнике

  • Сравнение — Операторы сравнения в JavaScript — больше, меньше, строгое и нестрогое равенство, сравнение строк и NaN.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.