鍍金池/ 問答/HTML/ [] == ![] 返回ture

[] == ![] 返回ture

[] == ![] 返回ture是為什么?為什么[] == ![] 就相當(dāng)于[] == false?求大神解答!

回答
編輯回答
吢涼

首先是![]
[]被 Boolean 轉(zhuǎn)化為 true,![] 即為 false。

然后是[] == false
[]先后以 valueOf、toString 方法嘗試轉(zhuǎn)化為基礎(chǔ)數(shù)據(jù)類型,這里轉(zhuǎn)化為空字符串''。

'' == false
而基礎(chǔ)數(shù)據(jù)類型會嘗試轉(zhuǎn)化為 Number 類型,空字符串轉(zhuǎn)化為0, false轉(zhuǎn)化為0

最后0 == 0
即返回true。

貼個(gè)數(shù)據(jù)類型轉(zhuǎn)化鏈接

2017年5月12日 22:14