自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JavaScript中的 Object.is() 與 === 運(yùn)算符有什么區(qū)別?

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

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

簡(jiǎn)而言之,雙等號(hào)運(yùn)算符(==)僅僅比較值,而三等號(hào)運(yùn)算符(===)可以比較值和類型。但是還有第三個(gè)選項(xiàng) Object.is(),除了 NaN,+0 和 -0 之外,其行為與三等號(hào)于運(yùn)算符相同。

以下是一些例子,可進(jìn)一步明確說明:

  1. {} === {}; // false 
  2. Object.is({}, {}); // false 
  3.  
  4. 1 === 1; // false 
  5. Object.is(1, 1); // false 
  6.  
  7. +0 === -0; // true 
  8. Object.is(+0, -0); // false 
  9.  
  10. NaN === NaN; // false 
  11. Object.is(NaN, NaN); // true 

以下代碼是在 ES5 中模擬實(shí)現(xiàn)的Object.is:

  1. Object.defineProperty(Object, 'is', { 
  2.   value: function(x, y) { 
  3.     if (x === y) { 
  4.       // 針對(duì)+0 不等于 -0的情況 
  5.       return x !== 0 || 1 / x === 1 / y; 
  6.     } 
  7.     // 針對(duì)NaN的情況 
  8.     return x !== x && y !== y; 
  9.   }, 
  10.   configurable: true, 
  11.   enumerable: false, 
  12.   writable: true 
  13. }); 

 

責(zé)任編輯:趙寧寧 來源: 前端先鋒
相關(guān)推薦

2020-06-04 08:13:36

JavaScriptObject.is()運(yùn)算符

2023-11-01 08:08:47

PythonIS運(yùn)算符

2024-01-31 08:12:42

編程C++運(yùn)算符

2021-05-07 06:27:29

JavaScript運(yùn)算符開發(fā)

2020-08-02 23:20:36

JavaScriptmap()forEach()

2022-09-07 00:04:37

JavaScript運(yùn)算符技巧

2020-03-23 11:28:56

PythonJavaScript技術(shù)

2023-04-10 08:58:13

C#關(guān)系運(yùn)算符

2023-12-25 15:40:55

React開發(fā)

2021-02-20 23:34:22

JavaScript運(yùn)算符開發(fā)

2017-05-11 16:38:07

javascript邏輯運(yùn)算符

2020-03-27 22:33:30

JavaScript運(yùn)算符逗號(hào)

2023-09-07 23:30:47

運(yùn)算符C++

2025-01-24 08:32:00

運(yùn)算符C#

2025-02-24 11:16:20

2020-12-22 13:46:48

APISKD

2011-08-08 14:09:55

dhcpbootp

2018-07-13 17:05:22

SQLMySQL數(shù)據(jù)庫(kù)

2023-10-13 15:48:17

OT系統(tǒng)

2021-07-12 15:35:56

JavaScript代碼運(yùn)算符
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)