考虑下一个例子。是否有不需要此 if 语句的较短版本?
let d = null
if (d) {
for ( const z of d ) {
//
}
}
例如,是否可能是这样的:
let d = null
for ( d && const z of d ) {
//
}
最佳答案
我更喜欢带有显式 if
检查的第一个版本,但如果您想稍微降低一点,您可以使用 d || []
,因此如果 d
为假,则不会执行迭代,也不会抛出任何错误,尽管这会创建一个不必要的中间数组:
const d = null
for (const z of d || []) {
console.log(z);
}
const e = ['foo'];
for (const z of e || []) {
console.log(z);
}
关于Javascript:在未定义/空迭代器上捕获 for 循环的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54322316/