WARNING

===不會自動轉型,但==會

# 嚴格相等(strict equals)

console.log(01 === '01');//false
console.log(01 !== '01');//true
console.log(NaN === NaN);//false
console.log(+0 === -0);//true
console.log(null === undefined);//false

比對原本的字也會比對型別

# 寬鬆相等(loose equals)

//boolean、字串轉為數值
console.log(01 == '01');//true
console.log(17 == '0x11');//true
console.log(true == '1');//true
console.log('1' == !0);//true
// Null、Undefined:不會轉為數字型別
console.log(null == 0);//false
console.log(null == undefined);//true
// 物件與非物件、使用包裹物件轉換
console.log(10 == [10]);//true
// 物件與物件
let cat = [];
let dog = cat;
console.log(cat == dog);//true
console.log(cat === dog);//true

console.log({} == {});//false
console.log([] == []);//false

參考位置不一樣為false

參考文獻:
JavaScript 核心篇 (opens new window)

Initializing...

Last Updated: 2021-02-04 22:41