javascript エラー「Uncaught SyntaxError: Illegal break statement」の解決方法
- 作成日 2022.03.10
- 更新日 2022.10.17
- javascript
- javascript
javascriptで、エラー「Uncaught SyntaxError: Illegal break statement」が発生した場合の原因と解決方法を記述してます。
環境
- OS windows11 pro 64bit
- Apache 2.4.43
- ブラウザ chrome 106.0.5249.103
エラー内容
以下のコードで発生。
function hoge(){
break;
}
エラーメッセージ
Uncaught SyntaxError: Illegal break statement
画像
firefox(バージョン105)では、以下のエラーとなります。
Uncaught SyntaxError: unlabeled break must be inside loop or switch
画像
原因
breakは、for 文や、while 文などでしか使用できないため
解決方法
「return」を使用するか、
function hoge(){
console.log( '1' )
return;
console.log( '2' )
}
hoge() // 1
「break」を使用したければラベルを使用する
function hoge(){
foo : {
console.log( '1' )
break foo ;
console.log( '2' )
}
}
hoge() // 1
その他のパターン
「for文」や「while文」でしか使用できないので「forEach」でも使用できません。
let arr = ["a", "b", "c"];
arr.forEach(function (v,i) {
if(i == 1) break; // Uncaught SyntaxError: Illegal break statement
});
「forEach」で使用するには、以下のように、無理やり条件時に配列の長さを最大値に変更して、終了させます。
let arr = ["a", "b", "c"];
arr.forEach( function (v,i,arr) {
console.log(v,i)
if (i == 1) {
arr.length = i + 1; // 最大インデックス番号を変更する
}
})
実行結果
-
前の記事
MySQL 秒数から時刻に変換する 2022.03.10
-
次の記事
ubuntu22.04 範囲を指定してスクリーンショットをクリップボードに保存する 2022.03.10
コメントを書く