==と==はどのように使用しますか?
751 ワード
どうしてこんな問題があるの?
現在統一されている方法はjqueryメソッドを参照することです.統一的には、すべて
Es 6はObjectを直接追加した.is()メソッド.
Es 5は
==
はサブタイプの変換をもたらし、===
はNaN === NaN
(falseに戻る)、+0 === -0
を区別できない.現在統一されている方法はjqueryメソッドを参照することです.統一的には、すべて
===
を使用し、オブジェクト属性が存在するかどうかを検証する場合を除いて==
を使用します.Es 6はObjectを直接追加した.is()メソッド.
console.log(Object.is(NaN,NaN)); //true
console.log(Object.is(+0,-0)); // false
Es 5は
===
問題をどのように解決するか.Object.defineProperty(Object,'is',{
value: function(x,y){
if(x === y) {
// +0 === -0, false
return x !== 0 || 1/x === x/y;
}
return x !== x && y!== y;
}
configurable: true,
enumerable: false,
writable: false
})