javascript - 为什么 if ([].length) {console.log('true');} else console.log('false') 会为假?
问题描述
我刚刚看到一个js问题是:
结果是什么:
if ([]) {console.log(1);}
if ([].length) {console.log(2);}
if ({} === {}) {console.log(3);}
if ('' == 0) {console.log(4);}
我试过控制台,它给了
1
4
为什么[].length
给假?长度未定义吗?
解决方案
空数组的长度是0
,这是 JavaScript 中的“假”值。
请参阅 MDN 以获取更多参考:
推荐阅读
- r - R - 加权计数
- dns - 如何在 docker-compose 中配置 dns-proxy-server 以绑定到非默认 IP 地址
- signal-processing - 如何计算 3D 空间(X、Y、T)中时间序列的 FFT
- android - 在路径上移动项目
- ios - ODR 异常“NSBundleResourceRequest 无法连接到它的辅助守护程序”
- php - phpmailer 去垃圾邮件
- python-3.x - Python:OSError:[Errno -9985] 在 Raspberry PI 3B+ 上使用 Snowboy 和 SpeechRecognition 时设备不可用
- linux - 如何删除仅在包含某些字符串的行之后加倍的行 - linux / bash
- python - Python / Pandas:如果非空或大于零,则划分数据框列
- electron - 松弛样式标题栏