Vấn đề không bắt buộc dùng dấu ngoặc nhọn trong vòng lặp JavaScript
Mặc dù trong các vòng lặp có thể bỏ qua dấu ngoặc nhọn, tôi rất không khuyến khích làm như vậy, vì mã như thế thường dẫn đến lỗi.
Hãy xem xét qua một ví dụ. Giả sử chúng ta có đoạn mã sau:
for (let i = 0; i <= 9; i++)
console.log(i); // sẽ hiển thị các số từ 0 đến 9
Tôi sẽ thêm một chỉnh sửa nhỏ vào đoạn mã ở trên (hãy tìm xem đó là gì) - và nó sẽ ngừng hoạt động:
for (let i = 0; i <= 9; i++);
console.log(i); // sẽ báo lỗi
Vậy, tôi đã chỉnh sửa cái gì?
Vấn đề phát sinh là do tôi đã đặt
dấu chấm phẩy sau dấu ngoặc đơn ) của
vòng lặp. Trong trường hợp này, sẽ tạo ra cái gọi là
vòng lặp không có thân: nó chỉ đơn giản chạy
bên trong, và dòng tiếp theo sẽ không còn
liên quan đến nó nữa. Do đó, để tránh các vấn đề,
tôi luôn khuyến nghị đặt dấu ngoặc nhọn
trong các vòng lặp.
Hãy cho biết, kết quả thực thi của đoạn mã sau đây sẽ là gì:
let arr = [1, 2, 3, 4, 5];
for (let elem of arr);
console.log(elem);