js 对象{}与null的区别及[]

{}与null的区别

{ }是一个不完全空对象,原型链上有Object,

null是完全空对象,原型链也没有,因此执行null.length

因此null instanceof Object === false。

[]

[]原型链上还比{}多一个Array,链的最低端还是Object

Tips

在转化布尔值时,对于对象而言,只有null转为false, 其他的都为true,

因此,一定要注意  []   {}  都会被转为true.

在后端传递数据过来进行判断时,为数组时判断数组的长度,为对象时直接if(obj)。

如果可能传过来null,也有可能传过来数组,并且不希望空数组执行语句,则可以 if(res && res.length),

res 和 res.length位置不能换,如果为null,则直接返回null,后面的res.length不执行,从而不报错,

如果为[],则res.length为0,返回0, 也将空数组去除了。

发布了53 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/bingqise5193/article/details/101114911
今日推荐