「JavaScript/例外処理」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
語尾の統一
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
→‎大域脱出: Array.prototype.every() を使ったイテレーションの中断
タグ: 2017年版ソースエディター
118 行
:この場合も、for文に置換えるほうが可読性は向上するでしょう。
;関数外のラベルにはbreakできません(動かない例):<syntaxhighlight lang="javascript">
const ary = new Array(10).fill(0).map((x_, i) => i)
 
LABEL:
128 行
</syntaxhighlight>
;[https://paiza.io/projects/0HdEI0i8b0OJNy-HToq1Ig?language=javascript 例外を使ったイテレーションメソッドからの脱出]:<syntaxhighlight lang="javascript">
const ary = new Array(10).fill(0).map((x_, i) => i);
try {
ary.forEach(function(x) {
if (x > 5) {
throw new Error(`x = ${x}`);
}
}
console.log(x)
});
} catch {}
</syntaxhighlight>
146 行
5
</syntaxhighlight>
;[https://paiza.io/projects/UEkdNTXcxK-a6b5TFrNaTA?language=javascript Array.prototype.every() を使ったイテレーションの中断]:<syntaxhighlight lang="javascript">
const ary = new Array(10).fill(0).map((_, i) => i);
 
ary.every(function(x) {
if (x > 5) {
return false
}
console.log(x)
return true
});
</syntaxhighlight>
;実行結果:<syntaxhighlight lang="text">
0
1
2
3
4
5
</syntaxhighlight>
{{Nav}}