Baseline Widely available
ÐпеÑаÑÐ¾Ñ Ð½ÐµÑÑÑогого ÑавенÑÑва (==
) пÑовеÑÑеÑ, ÑвлÑÑÑÑÑ Ð»Ð¸ два его опеÑанда ÑавнÑми, возвÑаÑÐ°Ñ Ð»Ð¾Ð³Ð¸ÑеÑкое знаÑение. РоÑлиÑие Ð¾Ñ Ð¾Ð¿ÐµÑаÑоÑа ÑÑÑогого ÑавенÑÑва пÑÑаеÑÑÑ Ð¿ÑивеÑÑи и ÑÑавниÑÑ Ð¾Ð¿ÐµÑÐ°Ð½Ð´Ñ ÑазнÑÑ
Ñипов.
console.log(1 == 1);
// Expected output: true
console.log("hello" == "hello");
// Expected output: true
console.log("1" == 1);
// Expected output: true
console.log(0 == false);
// Expected output: true
СинÑакÑÐ¸Ñ ÐпиÑание
ÐпеÑаÑоÑÑ Ð½ÐµÑÑÑогого ÑавенÑÑва (==
и !=
) иÑполÑзÑÑÑ Ð°Ð»Ð³Ð¾ÑиÑм IsLooselyEqual. Ðго можно опиÑаÑÑ Ð¿ÑиблизиÑелÑно Ñак:
true
ÑолÑко еÑли оба опеÑанда ÑÑÑлаÑÑÑÑ Ð½Ð° один и ÑÐ¾Ñ Ð¶Ðµ обÑекÑ.true
ÑолÑко еÑли оба опеÑанда ÑодеÑÐ¶Ð°Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð² одинаковом поÑÑдке и ÑегиÑÑÑе.true
ÑолÑко еÑли оба опеÑанда имеÑÑ Ð¸Ð´ÐµÐ½ÑиÑнÑе знаÑениÑ. +0
и -0
ÑÑиÑаÑÑÑÑ ÑавнÑми Ð¼ÐµÐ¶Ð´Ñ Ñобой. ÐÑли один из опеÑандов ÑвлÑеÑÑÑ NaN
, возвÑаÑаеÑÑÑ false
. Таким обÑазом, NaN
никогда не Ñавен NaN
.true
ÑолÑко еÑли оба опеÑанда true
или оба false
.true
ÑолÑко еÑли оба опеÑанда имеÑÑ Ð¸Ð´ÐµÐ½ÑиÑнÑе знаÑениÑ.true
ÑолÑко еÑли оба опеÑанда ÑÑÑлаÑÑÑÑ Ð½Ð° один и ÑÐ¾Ñ Ð¶Ðµ Ñимвол.null
или undefined
, дÑÑгой Ñакже должен бÑÑÑ null
или undefined
, ÑÑÐ¾Ð±Ñ Ð²Ð¾Ð·Ð²ÑаÑалоÑÑ true
. ÐнаÑе возвÑаÑаеÑÑÑ false
.false
.true
пÑеобÑазÑеÑÑÑ Ð² 1, а false
в 0. ÐаÑем Ñнова пÑоиÑÑ
Ð¾Ð´Ð¸Ñ ÑÑавнение.NaN
, ÑÑо гаÑанÑиÑÑÐµÑ Ð²Ð¾Ð·Ð²ÑаÑение false
.NaN
, возвÑаÑаеÑÑÑ false
.BigInt()
. ÐÑи неÑдаÑной конвеÑÑаÑии возвÑаÑаеÑÑÑ false
.ÐеÑÑÑогое ÑавенÑÑво ÑиммеÑÑиÑно: A == B
вÑегда иденÑиÑно B == A
Ð´Ð»Ñ Ð»ÑбÑÑ
знаÑений A
и B
(кÑоме поÑÑдка пÑименÑннÑÑ
пÑеобÑазований).
ÐÑÐ½Ð¾Ð²Ð½Ð°Ñ ÑазниÑа Ð¼ÐµÐ¶Ð´Ñ ÑÑим опеÑаÑоÑом и опеÑаÑоÑом ÑÑÑогого ÑавенÑÑва (===
) в Ñом, ÑÑо опеÑаÑÐ¾Ñ ÑÑÑогого ÑавенÑÑва не пÑÑаеÑÑÑ Ð¿ÑивеÑÑи опеÑÐ°Ð½Ð´Ñ Ðº Ð¾Ð´Ð½Ð¾Ð¼Ñ ÑипÑ. ÐмеÑÑо ÑÑого он вÑегда ÑÑиÑÐ°ÐµÑ Ð¾Ð¿ÐµÑÐ°Ð½Ð´Ñ ÑазнÑÑ
Ñипов не ÑавнÑми. ÐпеÑаÑÐ¾Ñ ÑÑÑогого ÑавенÑÑва, по ÑÑÑи, вÑполнÑÐµÑ ÑолÑко Ñаг 1 и возвÑаÑÐ°ÐµÑ false
Ð´Ð»Ñ Ð²ÑеÑ
оÑÑалÑнÑÑ
ÑлÑÑаев.
СÑÑеÑÑвÑÐµÑ Â«ÑмÑÑленное наÑÑÑение» вÑÑепÑиведÑнного алгоÑиÑма: еÑли одним из опеÑандов ÑвлÑеÑÑÑ document.all
, он ÑÑиÑаеÑÑÑ ÑавнÑм undefined
. ÐÑо ознаÑаеÑ, ÑÑо document.all == null
Ñавно true
, но document.all === undefined && document.all === null
Ñавно false
.
1 == 1; // true
"hello" == "hello"; // true
СÑавнение Ñ Ð¿Ñиведением Ñипов
"1" == 1; // true
1 == "1"; // true
0 == false; // true
0 == null; // false
0 == undefined; // false
0 == !!null; // true, обÑаÑиÑе внимание на двойное логиÑеÑкое оÑÑиÑание
0 == !!undefined; // true, обÑаÑиÑе внимание на двойное логиÑеÑкое оÑÑиÑание
null == undefined; // true
const number1 = new Number(3);
const number2 = new Number(3);
number1 == 3; // true
number1 == number2; // false
СÑавнение обÑекÑов
const object1 = {
key: "value",
};
const object2 = {
key: "value",
};
console.log(object1 == object2); // false
console.log(object1 == object1); // true
СÑавнение ÑÑÑок и ÑÑÑоковÑÑ
обÑекÑов
ÐбÑаÑиÑе внимание, ÑÑо ÑÑÑоки, ÑозданнÑе пÑи помоÑи new String()
ÑвлÑÑÑÑÑ Ð¾Ð±ÑекÑами. ÐÑли ÑÑавниваÑÑ Ñакой обÑÐµÐºÑ Ñо ÑÑÑоковÑм лиÑеÑалом, Ñо он бÑÐ´ÐµÑ Ð¿ÑиведÑн к ÑÑÑÐ¾ÐºÐ¾Ð²Ð¾Ð¼Ñ Ð»Ð¸ÑеÑÐ°Ð»Ñ Ð¸ ÑÑавнение бÑÐ´ÐµÑ Ð¿Ñоизведено по ÑодеÑжимомÑ. Ðднако, еÑли оба опеÑанда ÑвлÑÑÑÑÑ Ð¾Ð±ÑекÑами Ñипа String
, Ñо они ÑÑавниваÑÑÑÑ ÐºÐ°Ðº обÑекÑÑ Ð¸ ÑÑавнение бÑÐ´ÐµÑ Ð¿Ñоизведено по ÑÑÑлке:
const string1 = "hello";
const string2 = String("hello");
const string3 = new String("hello");
const string4 = new String("hello");
console.log(string1 == string2); // true
console.log(string1 == string3); // true
console.log(string2 == string3); // true
console.log(string3 == string4); // false
console.log(string4 == string4); // true
СÑавнение Ð´Ð°Ñ Ð¸ ÑÑÑок
const d = new Date("1995-12-17T03:24:00");
const s = d.toString(); // напÑимеÑ: "Sun Dec 17 1995 03:24:00 GMT-0800 (Pacific Standard Time)"
console.log(d == s); // true
СÑавнение маÑÑивов и ÑÑÑок
const a = [1, 2, 3];
const b = "1,2,3";
a == b; // true, `a` пÑиводиÑÑÑ Ðº ÑÑÑоке
const c = [true, 0.5, "hey"];
const d = c.toString(); // "true,0.5,hey"
c == d; // true
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4