在大衛·弗拉納根的JavaScript指導,有一種說法:的Javascript平等運營商
==操作符從未嘗試轉換其操作數爲布爾
所以我在這裏做了一個小測試:
var a = false;
var b = ""; // empty string
a == b; //returns true
看着Abstract Equality Comparison Algorithm有一點:
e。如果Type(x)是布爾值,則返回true,如果x和y都爲真或兩者都爲假。否則,返回false。
如果y是字符串數據類型(無轉換),x和y如何都是真?
「如果類型(x)是布爾值,返回的比較ToNumber(X)== y的結果」。如果類型(x)是數字和類型(y)是字符串, 返回比較結果x == ToNumber(y)。「 – zerkms
相關:http://algorithmicassertions.com/visualization/2014/03/27/Better-JS-Equality-Table.html和http://www.impressivewebs.com/why-use-triple-equals-javascipt/。 – jarmod