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:

javascriptfor (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:

javascriptfor (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.

Задание 1

Hãy cho biết, kết quả thực thi của đoạn mã sau đây sẽ là gì:

javascriptlet arr = [1, 2, 3, 4, 5];

for (let elem of arr);
  console.log(elem);