{}是一个不完全空的对象,因为他的原型链上还有Object呢,而null就是完全空的对象,啥也没有,原型链也没有,所以null instanceof Object === false;[]就更不用说了,它的原型链上还比{}多一个Array。
所以,纯粹意义上初始化一个空对象应该用null,{}更像是初始化对象,和new一个没有key的Obejct是一样的。

还有就是空数组转换成布尔类型返回的是true:

因为数组(不管是不是空的)属于对象类型,对象类型转为boolean类型(内部对应ToBoolean()操作)时都是true。所以判断数组一般使用的是判断数组的长度。

最新文章

  1. html中键盘事件----在路上(16)
  2. spring注解总结
  3. ExtJs 获取Dom对象
  4. Confluent介绍(一)
  5. Codeforces Round #258 D Count Good Substrings --计数
  6. php短信发送
  7. CodeForces Round #250 Div2
  8. jdk各个班本官网下载地址
  9. HTML5 Canvas 的事件处理---转
  10. Fragment 之 PagerAdapter
  11. 使用scrapy写好爬虫进行工作的时候,遇到错误及解决方法
  12. [Oracle]高水位标记(HWM)
  13. 第二次项目冲刺(Beta阶段)--第六天
  14. [转载] 多图详解Spring框架的设计理念与设计模式
  15. ROS_Kinetic_04 ROS基础内容(一)
  16. 网站开发进阶(二十六)js刷新页面方法大全
  17. VMware workstation创建虚拟机console
  18. 遍历数组 foreach
  19. 建议3---理解Python与C语言的不同之处
  20. 题解——HDU 2089 不要62(数位DP)

热门文章

  1. 关于Unity中的本地存储
  2. clapack在android上移植
  3. SpagoBI 教程 Lesson 2: OLAP with JPIVOT
  4. mybaits if标签语句
  5. POJ1157 LITTLE SHOP OF FLOWERS DP
  6. EF5+MVC4系列(6) 简单三层的搭配(泛型) 实现 增删改查
  7. TargetScan 数据库简介
  8. Java项目性能持续优化中……
  9. ubuntu 16.04使用软件中心升级软件后桌面显示空白
  10. Thinkphp5笔记七:设置错误页面②