Javascript:在未定义/空迭代器上捕获 for 循环的最佳方法?

标签 javascript for-loop if-statement ecmascript-6

考虑下一个例子。是否有不需要此 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/

相关文章:

C# int.TryParse 也许吧?

javascript - 如何合并列表中的数据 Javascript

javascript - Ajax 总是给出积极的值(value)。如何纠正呢?

c# - 如何解决这个奇怪的多循环场景(Java 或 C#)?

javascript - 页面对象中的 For 循环运行不正常

linux - 运行for循环以在shell脚本中重命名多个文件时出错

function - Haskell 多个条件组合

有人能解释一下为什么这个 C 代码没有编译我的 else if 语句吗?

javascript - 导出要在 JSX 标记中使用的 React 组件

javascript - 限制用户插入除下划线之外的特殊字符