JavaScript 中的 Unsyntactic break 错误 [已解决]
当我们尝试在 for 循环外部或 for 循环中的函数内部使用 break 语句时,会发生“Unsyntactic break”错误。
let arr = ['a', 'b', 'c'];
arr.forEach(element => {
if (element === 'b') {
break // ?️ SyntaxError: Unsyntactic break
}
console.log('test');
});
上面的代码片段会导致错误,因为我们尝试在函数中使用 break 语句。
要解决 JavaScript 中的“Unsyntactic break”错误:
仅在支持
break
关键字的循环中使用break
语句。
如果我们在函数中并且无法使用 break 语句,则在 try/catch
块中抛出错误以跳出循环。
let arr = ['a', 'b', 'c'];
const BreakError = {};
try {
arr.forEach(element => {
if (element === 'b') {
throw BreakError;
}
console.log(element); // 👉️ a
});
} catch (err) {
if (err !== BreakError) throw err;
}
在代码片段中,我们抛出一个错误以中断迭代。 我们不能在函数内部使用 break 关键字,因此我们将函数包装在 try/catch 块中,并在需要时抛出错误以退出。
我们可以在以下场景中使用 break 语句:
- 基本的
for
循环 for ... of
循环for ... in
循环while
循环switch
语句
如果我们正在使用 forEach
循环并尝试使用 break 语句,请尝试使用 for ... of
循环。 我们可以在 for ... of
循环中使用 break 关键字。
let arr = ['a', 'b', 'c'];
for (const element of arr) {
if (element === 'b') {
break;
}
console.log(element) // 👉️ a
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。