"== " 和 "=== "運(yùn)算符使用于比較兩個(gè)值是否相等物赶。都允許任意類型的操作數(shù),若操作數(shù)相等則返回true,否則返回false捐迫。
" ===" : 嚴(yán)格相等運(yùn)算符(恒等運(yùn)算符),用來檢測(cè)兩個(gè)操作數(shù)是否嚴(yán)格相等爱葵∈┐鳎【包含字面值和類型】;
" ==" : 相等運(yùn)算符,“相等”的定義比較寬松萌丈,可以允許類型轉(zhuǎn)換赞哗。
" =" : “得到或者是賦值”,
JavaScript中對(duì)象的比較是應(yīng)用的比較辆雾,而不是值的比較肪笋。對(duì)象和自身是相等的,和其他任何對(duì)象不想等。不論兩個(gè)對(duì)象具有相同的數(shù)量的屬性藤乙、相同的屬性名和屬性值猜揪,依然相等。相應(yīng)位置的數(shù)組元素相等的兩個(gè)數(shù)組也不相等坛梁。
恒等運(yùn)算符 “===”先計(jì)算自身的操作數(shù)的值湿右,在比較兩個(gè)值,比較中沒有類型的轉(zhuǎn)換:
1罚勾、兩個(gè)值的類型不相同毅人,則它們不相等;
2尖殃、兩個(gè)值都是null或者都是undefined丈莺,則它們不相等;
3送丰、兩個(gè)值都是布爾值true或者都是false缔俄,則它們相等;
4器躏、其中一個(gè)為NaN俐载,或者兩個(gè)都為NaN,則它們不相等登失;
相等運(yùn)算符 “==”的比較不嚴(yán)格遏佣,若兩個(gè)操作數(shù)是不同類型,則在比較過程中會(huì)進(jìn)行一些類型的轉(zhuǎn)換后再比較: