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

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
M {{Nav}}
Ef3 (トーク | 投稿記録)
s/帯域脱出/大域脱出/3
タグ: 2017年版ソースエディター
86 行
例外は大域脱出に使うこともできます。大域脱出とは、入れ子になった制御構造の内側から外側に制御を戻すことです。<code>break</code>や<code>return</code>は最内側の制御構造(<code>for</code>/<code>while</code>/<code>switch</code>と関数)を抜け出すだけですが、例外を<code>throw</code>すると文や関数を超えて制御が移ります。この性質を利用すると二重以上のループや関数を脱出することができるのです。
 
ですがしかし、大域脱出目的の例外の使うこと用に極力避け慎重になってください。breakやreturnを[https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/label ラベル]と共に使用することで、ほとんどの場合は域脱出を使うことなく要件を達成できます。
例えば、breakやreturnでは大域脱出ができない Array.prototype.forEach メソッドの様にcallbackで反復処理を行う場合は、例外による域脱出が適用なケースです。この場合も、for文に置換えるほうが可読性は向上するでしょう
 
{{Nav}}
 
[[Category:JavaScript|れいかいしより]]