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

Closure trong javascript là gì, cho ví dụ?

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

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

middle

Sử dụng Promise trong JavaScript như thế nào?

senior

Trong JavaScript hàm map có thể lặp qua các thuộc tính của một đối tượng không?

middle

Kết quả đoạn code sau là gì? Hãy giải thích tại sao?

Bình luận

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

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