3:トークン中のの位置に、 行終端子 (例外:空文・for文の2つのセミコロンの代わり)
下記が対象 - 【左辺式】 ++
- 【左辺式】 --
- continue 【ラベル識別子】;
- break 【ラベル識別子】;
- return 【式】;
- throw 【式】;
- 【アロー関数パラメータ】 => 【関数本体】
- yield * 【式】
- yield 【式】
var x = 1, y = 2;
x // 改行があると x++ と認識不可
++
y // 改行がありでも ++y と認識
console.log(x, y); // 出力:1 3
outer1:
for (var i = 0; i < 3; i++) {
for (var j = 0; j < 3; j++) {
if (0 < j) {
break outer1; // 通常:ラベルとして認識可
}
console.log(i, j);
}
}
// 出力:0 0
outer2:
for (var i = 0; i < 3; i++) {
for (var j = 0; j < 3; j++) {
if (0 < j) {
break
outer2; // ラベルとして認識不可
}
console.log(i, j);
}
}
// 出力:0 0
// 出力:1 0
// 出力:2 0
function func() {
var x = 1;
return
x; // 戻り値として認識不可
}
console.log(func()); // 出力:undefined
if (true)
// 空文
else // エラー
console.log("else");
for (var i = 0
i < 10 // エラー
i++
) { }