Thực tế: JavaScript KHÔNG CÓ goto
goto là từ khóa dự trữ (reserved word) – không thể dùng làm biến, nhưng không triển khai.
Tại sao không có?
- Gây spaghetti code, khó bảo trì.
- Cấu trúc điều khiển hiện đại (if, for, while, function, try/catch) đủ thay thế.
- Web standards khuyến cáo không dùng.
Mô phỏng goto (chỉ để hiểu, KHÔNG dùng production)
// Ý tưởng tiền xử lý (preprocessing)
var a = 0;
[lbl] beginning:
console.log("Demo Text!");
a++;
if (a < 424) goto beginning;
// Biên dịch thành:
var a = 0;
beginning: while (true) {
console.log("Demo Text!");
a++;
if (a < 424) continue beginning;
break;
}
Thay thế goto bằng cấu trúc chuẩn
- Vòng lặp:
while,for,do-while. - Thoát sớm:
break,return. - Bỏ qua:
continue. - Nhảy ra nhiều cấp:
break label,try/catch(throw như goto có kiểm soát). - State machine:
switchtrên state variable.
Kết luận
Đừng bao giờ cố gắng dùng goto trong JS. Hãy học tốt các cấu trúc điều khiển có sẵn.