假设我的代码如下:
const days = ['Monday', 'Tuesday'];
for (const day of days) {
console.log(day);
}
Run Code Online (Sandbox Code Playgroud)
打印出"周一"和"周二".
如果由于某种原因,days
未定义,那么我会收到运行时错误.
我可以通过输入如下代码来处理这个问题:
if (undefined == days) {
// logic here
}
Run Code Online (Sandbox Code Playgroud)
对我来说,这看起来有点笨重.有没有办法让for ... of
循环忽略未定义的值?基本上,将它视为零长度数组,因此for循环内部的逻辑不会执行,但它也不会抛出错误.
小智 6
您始终可以使用forEach,逻辑或||
括号内的块.
(days||[]).forEach(day=>{console.log(day)});
Run Code Online (Sandbox Code Playgroud)
我想你也可以在for循环中使用它.
for(let day of (days||[])) {
console.log(day);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
84 次 |
最近记录: |