提问人:jost21 提问时间:4/2/2022 更新时间:4/2/2022 访问量:214
什么时候可以在 javascript 中使用逻辑赋值?
When is it okay/appropriate to use logical assignment in javascript?
问:
我以前使用过像 Javascript 一样的逻辑赋值,关于它的 SO 有很多问题。
举一些:b = a || []
从我所读到的,是合法的代码。b = a || []
但是,我注意到在最近的一个案例中(检查另一个脚本设置的变量),此代码无法按预期工作。
我以为代码会检查是否是假的,如果是,将被分配给.由于是假的,我排除了代码在未定义的情况下工作和分配。a
[]
b
undefined
[]
a
但此代码会导致错误:
let b;
b = a || [];
console.log(b);
a = ["1", "2", "3"];
b = a || [];
console.log(b);
韦拉斯
let b;
b = typeof a == "undefined" ? [] : b;
console.log(b);
a = ["1", "2", "3"];
b = a || [];
console.log(b);
不。
为什么它会导致错误,当错误说 Uncaught ReferenceError: a is not defined,这意味着是 ?a
undefined
何时可以使用逻辑赋值?只有当保证至少声明变量 (a
) 时?
答: 暂无答案
评论
b = typeof a == "undefined" ? [] : b;
??
||