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

Оператор строгої рівності (===) перевіряє, чи є два операнди рівними, повертаючи результат типу Boolean. На відміну від оператора рівності, оператор строгої рівності завжди вважає операнди різних типів різними.

Синтаксис

x === y

Опис

Оператори строгої рівності (=== та !==) використовують алгоритм строгої рівності для порівняння двох операндів.

  • Якщо операнди належать до різних типів, повернути false.
  • Якщо обидва операнди є об'єктами, повернути true тільки якщо вони посилаються на один і той самий об'єкт.
  • Якщо обидва операнди дорівнюють null або обидва операнди дорівнюють undefined, повернути true.
  • Якщо будь-який з операндів є NaN, повернути false.
  • В інших випадках, порівняти значення двох операндів:
    • Числа повинні мати однакові числові значення. +0 та -0 вважаються одним значенням.
    • Рядки повинні мати однакові символи в однаковому порядку.
    • Значення Boolean повинні обидва дорівнювати true або обидва дорівнювати false.

Найпомітніша відмінність між цим оператором та оператором рівності (==) полягає в тому, що, якщо операнди належать до різних типів, оператор == намагається привести їх до одного типу перед порівнянням.

Приклади

Порівняння операндів одного типу

console.log("привіт" === "привіт");   // true
console.log("привіт" === "агов");    // false

console.log(3 === 3);               // true
console.log(3 === 4);               // false

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

console.log(null === null);         // true

Порівняння операндів різних типів

console.log("3" === 3);           // false

console.log(true === 1);          // false

console.log(null === undefined);  // false

Порівняння об'єктів

const object1 = {
  name: "привіт"
}

const object2 = {
  name: "привіт"
}

console.log(object1 === object2);  // false
console.log(object1 === object1);  // true

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

Специфікація
ECMAScript (ECMA-262)
The definition of 'Equality operators' in that specification.

Сумісність з веб-переглядачами

BCD tables only load in the browser

Див. також