let obj ={
a :true,
b:[]
}
if(obj.a && obj.b){
console.log(324)
}
//这里为什么会输出324呢? 明明obj.b是个空数组怎么会是真呢?
//如果整个流程是这样的话?
obj.b => [] => Boolean([]) => true
//为啥单单比较
[]===[]
//就是false呢?
**
补充:如果我要实现一般情况的那种都为true才执行1的功能,该如何修改呢?这个数组有些时候是非空数组
**
贴你链接,你不好好看
理解下这个,再回看你的问题

obj.b 是空数组,但还是一个数组对象
另外:关于 [] == false 是 true 的问题
参考 https://www.cnblogs.com/nanch...