Trung BìnhJavaScript iconJavaScript

Scope chain trong JavaScript hoạt động như thế nào?

Scope chain là cơ chế JavaScript tìm kiếm biến từ scope hiện tại ra ngoài đến global scope.

  • Khi không tìm thấy biến trong scope hiện tại, JS tìm trong scope cha, rồi tiếp tục lên cho đến global.
  • Nếu không tìm thấy ở global, ném ReferenceError.
javascript
const x = "global";
function outer() {
  const x = "outer";
  function inner() {
    // không có x ở đây → tìm cha (outer) → tìm thấy "outer"
    console.log(x); // "outer"
  }
  inner();
}

Scope chain được tạo khi hàm được định nghĩa (lexical scope), không phải khi gọi.

Xem toàn bộ JavaScript cùng filter theo level & chủ đề con.

Mở danh sách JavaScript