var a = [];
if (a) {
console.log('1');
}
这时候为什么不会把a置成0?
JavaScript
的拆箱转换(在 JavaScript 标准中,规定了 ToPrimitive 函数,它是对象类型到基本类型的转换)
https://zh.javascript.info/object-toprimitive
var arr = [];
if (!Array.isArray) {
Array.isArray = function(arg) {
return Object.prototype.toString.call(arg) === '[object Array]';
};
}
if(Array.isArray(arr) && arr.length === 0){
console.log('是空数组');
}
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
6 回答1.1k 阅读
数组是个对象, 空数组转换成布尔值也是true, 所以要判断
length