新聞中心
如果要檢查 JavaScript 中的相等性,有兩個(gè)比較運(yùn)算符:雙等號(hào)運(yùn)算符(==)和三等號(hào)運(yùn)算符(===)。

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的商南網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
簡(jiǎn)而言之,雙等號(hào)運(yùn)算符(==)僅僅比較值,而三等號(hào)運(yùn)算符(===)可以比較值和類型。但是還有第三個(gè)選項(xiàng) Object.is(),除了 NaN,+0 和 -0 之外,其行為與三等號(hào)于運(yùn)算符相同。
以下是一些例子,可進(jìn)一步明確說(shuō)明:
- {} === {}; // false
- Object.is({}, {}); // false
- 1 === 1; // false
- Object.is(1, 1); // false
- +0 === -0; // true
- Object.is(+0, -0); // false
- NaN === NaN; // false
- Object.is(NaN, NaN); // true
以下代碼是在 ES5 中模擬實(shí)現(xiàn)的Object.is:
- Object.defineProperty(Object, 'is', {
- value: function(x, y) {
- if (x === y) {
- // 針對(duì)+0 不等于 -0的情況
- return x !== 0 || 1 / x === 1 / y;
- }
- // 針對(duì)NaN的情況
- return x !== x && y !== y;
- },
- configurable: true,
- enumerable: false,
- writable: true
- });
網(wǎng)站標(biāo)題:JavaScript中的Object.is()與===運(yùn)算符有什么區(qū)別?
分享URL:http://www.fisionsoft.com.cn/article/ccsihdo.html


咨詢
建站咨詢
