gpt4 book ai didi

javascript - (variable or {}) 会在 Javascript 中跨浏览器工作吗?

转载 作者:行者123 更新时间:2023-11-30 09:09:12 26 4
gpt4 key购买 nike

以下构造中的 if(variable) 子句检查列表/数组是否不为空/未定义,以避免异常:

if (list)
for (var k in list) {
...

if (array)
for (var i = array.length; i >= 0; i--) {
...

但是JS语法允许这样的表达式

null || []
undefined || {}

所以我可以将代码缩短一行并仍然检查数组/对象:

for (var k in obj || {}) {
...

for (var i = (array || {}).length; i >= 0; i--) {
...

问题本质上是:null/undefined || []/{} 表达式在所有浏览器中返回后者?

编辑: 发现大括号更适合 for (var k in list || {}) 迭代,因为数组(方括号)导致迭代并抛出异常。

最佳答案

是的,nullundefined0"",都将解析为false ,当被视为 bool 值(|| 运算符)时,所有浏览器都会使用后者。这种行为是绝对安全的。

关于javascript - (variable or {}) 会在 Javascript 中跨浏览器工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1879607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com