Строга рівність (===)
Оператор строгої рівності (===
) перевіряє, чи є два операнди рівними, повертаючи результат типу Boolean. На відміну від оператора рівності, оператор строгої рівності завжди вважає операнди різних типів різними.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Синтаксис
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
Специфікації
Сумісність з веб-переглядачами
BCD tables only load in the browser