"== " 和 "=== "運(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)換后再比較: