Câu hỏi phỏng vấn Javascript
Câu hỏi

Closure trong javasc...

Câu trả lời

Closure trong JavaScript là một khái niệm quan trọng, cho phép một hàm truy cập các biến từ phạm vi bên ngoài của nó, ngay cả sau khi phạm vi đó đã kết thúc. Cụ thể, closure là một hàm có khả năng "nhớ" và truy cập các biến và tham số của hàm bên ngoài mà nó được tạo ra, ngay cả khi hàm bên ngoài đó đã thực thi xong

Đặc điểm của Closure

  • Truy cập biến từ phạm vi bên ngoài: Closure có thể truy cập các biến từ phạm vi bên ngoài của nó, bao gồm cả biến toàn cục, biến từ hàm bên ngoài (outer function), và biến cục bộ của chính nó
  • Bảo vệ dữ liệu: Closure giúp bảo vệ dữ liệu bằng cách giữ cho các biến không thể truy cập trực tiếp từ bên ngoài, tạo ra các biến "riêng tư"
  • Duy trì trạng thái: Closure cho phép duy trì trạng thái trong các hàm con mà không cần tạo ra các biến toàn cục, giúp giảm thiểu rủi ro xung đột biến và làm bẩn không gian tên

Ví dụ về Closure

javascript Copy
function createCounter() {
    let count = 0;
    return function() {
        count++;
        console.log(count);
    };
}

let counter = createCounter();
counter(); // 1
...
senior

senior

Gợi ý câu hỏi phỏng vấn

junior

Strict mode trong JavaScript là gì?

middle

Bạn có thể so sánh việc sử dụng Module Pattern với Constructor/Prototype Pattern không?

middle

Từ khóa new trong JavaScript để làm gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào