SyntaxError: label not found

Ngoại lệ JavaScript "label not found" xảy ra khi câu lệnh break hoặc continue tham chiếu đến một nhãn không tồn tại trên bất kỳ câu lệnh nào chứa câu lệnh break hoặc continue đó.

Thông báo

SyntaxError: Undefined label 'label' (V8-based)
SyntaxError: label not found (Firefox)
SyntaxError: Cannot use the undeclared label 'label'. (Safari)

Loại lỗi

SyntaxError.

Điều gì đã xảy ra?

Trong JavaScript, nhãn rất hạn chế: bạn chỉ có thể sử dụng chúng với câu lệnh breakcontinue, và bạn chỉ có thể nhảy đến chúng từ một câu lệnh được chứa trong câu lệnh có nhãn đó. Bạn không thể nhảy đến nhãn này từ bất kỳ đâu trong chương trình.

Ví dụ

Bước nhảy không hợp lệ về cú pháp

Bạn không thể sử dụng nhãn như thể chúng là goto.

js
start: console.log("Hello, world!");
console.log("Do it again");
break start;

Thay vào đó, bạn chỉ có thể sử dụng nhãn để nâng cao ngữ nghĩa thông thường của câu lệnh breakcontinue.

js
start: {
  console.log("Hello, world!");
  if (Math.random() > 0.5) {
    break start;
  }
  console.log("Maybe I'm logged");
}

Xem thêm