Định nghĩa
Block statement (khối lệnh) gom nhiều statement vào cặp ngoặc nhọn { ... }. Dùng ở mọi nơi cần một statement đơn (sau if, for, function...).
Cú pháp
{
statement1;
statement2;
...
}
Scope trong Block (var vs let/const)
var: function-scoped (bỏ qua block).
var a = 20;
{
var a = 40; // cùng biến!
}
console.log(a); // 40 (không phải 20)
let/const (ES6): block-scoped.
let a = 20;
{
let a = 40; // biến mới, chỉ trong block
}
console.log(a); // 20
Ứng dụng
- Gom câu lệnh cho
if,for,while,function. - Tạo scope riêng cho
let/const(ES6). - IIFE (trước ES6) tạo scope ảo bằng function block.
Lưu ý
- Block rỗng
{}hợp lệ (dùng làm placeholder). - Không có statement kết thúc block (khác Pascal
begin...end). - Label có thể gắn cho block:
myBlock: { ... break myBlock; }(thoát block sớm – hiếm dùng).