js--判断真假

136 阅读1分钟

1 + '1' ===> 11

true + 0 ===> 1

{} + [] ===> [object Object]

4 + [1] ===> 41

'a' + + 'b' ===> aNaN

[] == 0 ===> true

! [] == 0 ===> true

[] == ![] ===> true

![] == 0 ===> true

[] == [] ===> false

[] === [] ===> false

[] == undefined ===> false

[] === undefined ===> false

Boolean([]) ===> true

!!num ===> num不为0则为true,为0则返回false

特别提醒

判断对象是否为{}的方法: Object.keys(obj).length === 0 ===> obj为{}

{} == undefined ===> false

{} === undefined ===> false

Boolean({}) ===> true

特别提醒

{} == {} ===> false

{} === {} ===> flase(在set数据结构中多次加入{}都能成功,因为它们始终不等)

{} == !{} ===> false

特别提醒

NaN == NaN ===> false

NaN === NaN ===> false(虽然NaN无论是双等还是三等都为false,但在set数据结构中多次加入NaN却只有第一次能成功,因为Set内部判断两个值是否不同,使用的算法叫做“Same-value-zero equality”,它类似于精确相等运算符===,但与===不同)