javascript Boolean类型和其他类型的转换

一些相关的值

1, 0, ‘1‘, ‘0‘, true, false, ‘true‘, ‘false‘, NaN, ‘NaN‘, undefined, ‘undefined‘, null, ‘undefined‘, ‘‘, [], {}

 

true == 1 //true

true == ‘1‘ //true

true == ‘true‘ //false, 除了‘1‘, true不等于任何其他字符串

true == NaN //false

true == undefined //false

true == null //false

true == ‘‘ //false

true == [] //false

true == {} //false

 

false == 0 //true

false == ‘0‘ //true

false == ‘false‘ //false, 除了‘0‘, false不等于任何其他字符串

false == NaN //false

false == undefined //false

false == null //false

false == ‘‘ //true

false == [] //true, 这个竟然是true

false == {} //false

 

if(1) //true

if(‘1‘)  //true

if(‘true‘) //true

if(‘false‘) //true

if(‘NaN‘) //true

if(NaN) //false

if(‘undefined‘) //true

if(undefined) //false

if(‘null‘) //true

if(null) //false

if(‘‘) //false

if([]) //true

if({}) //true

 

转换规则不好掌握, 写代码的时候老想着这些规则太麻烦, 以后不用if(name)这样的代码了, 同样也不用==了.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。