对象和数组与布尔值的比较

console.log([]==false)-->true
先转化为Number进行计较:[]-->0,false-->0,所以结果为true

  • 数组转化为Number时:
    • 空的[]转为0
    • 有两个或以上元素的数组转为NaN
    • 只有一个元素时,根据该元素进行Nunber转换

console.log({}==false)-->false
先转化为Number进行计较:所有的对象转为Number时都为NaN

if([]){...}和if({}){...},会进行布尔值转换,true

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • js中数据类型分为两种,第一种基本的数据类型:Number,String,Boolean,Null,Undefie...
    vins_lu阅读 4,396评论 0 0
  • 变量 声明变量 命名变量区分大小写的语言第一个字符是字母或下划线_,数字不能作为第一个字符字符必须是字母,数字或者...
    flyingtoparis阅读 4,204评论 0 0
  • 1.JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么? ...
    saintkl阅读 2,701评论 0 0
  • 我……我认识你吗? 当然啦,我们是最好的朋友啊 真的吗? 嗯呐,走,我带你去找你的记忆吧 那抹冰蓝色映入眼底却看不...
    筱筱执子阅读 1,228评论 0 1
  • 没想到第一篇文会在这样的一个环境下出来,冲动,不安,装作若无其事,在所有人面前拼命的伪装自己的伤痛,不在乎是否被揭...
    青木蜜糖阅读 2,325评论 0 0