Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. JavaScript
  3. Справочник по JavaScript
  4. Выражения и операторы
  5. Строгое равенство (===)

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

Строгое равенство (===)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨июль 2015 г.⁩.

Операторстрогого равенства (===) проверяет, являются ли два его операнда равными, возвращая логическое значение. В отличие от операторанестрогого равенства всегда считает операнды разных типов неравными.

Интерактивный пример

console.log(1 === 1);// Expected output: trueconsole.log("hello" === "hello");// Expected output: trueconsole.log("1" === 1);// Expected output: falseconsole.log(0 === false);// Expected output: false

Синтаксис

js
x === y

Описание

Операторы строгого равенства (=== и!==) производят проверкуравенства типов и значений.

  • Если типы операндов различаются, возвращаетfalse.
  • Если оба операнда являются объектами, возвращаетtrue только если они оба ссылаются на один и тот же объект.
  • Если оба операнда являютсяnull или оба являютсяundefined, возвращаетtrue.
  • Если один из операндов являетсяNaN, возвращаетfalse.
  • В остальных случаях:
    • Числа должны иметь идентичные значения.+0 и-0 считаются равными между собой.
    • Строки должны содержать одинаковые символы, в одинаковом порядке и регистре.
    • Логические значения должны оба бытьtrue или обаfalse.

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

Примеры

Сравнение операндов одного типа

js
"hello" === "hello"; // true"hello" === "hola"; // false3 === 3; // true3 === 4; // falsetrue === true; // truetrue === false; // falsenull === null; // true

Сравнение операндов разных типов

js
"3" === 3; // falsetrue === 1; // falsenull === undefined; // false3 === new Number(3); // false

Сравнение объектов

js
const object1 = {  key: "value",};const object2 = {  key: "value",};console.log(object1 === object2); // falseconsole.log(object1 === object1); // true

Спецификации

Specification
ECMAScript® 2026 Language Specification
# sec-equality-operators

Совместимость с браузерами

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp