Closures là một hàm bên trong (hàm con) nằm trong một hàm khác (hàm cha), có quyền truy cập vào các biến và tham số của hàm cha, ngay cả khi hàm cha đã được thực thi xong. Điều này cho phép hàm con ghi nhớ và sử dụng dữ liệu từ phạm vi của hàm cha.
Ví dụ minh họa:
function outerFunction() { let outerVariable = 'I am from outer function'; // Biến bên trong hàm cha return function innerFunction() { // Hàm con console.log(outerVariable); // Truy cập biến bên trong hàm cha }; } const closure = outerFunction(); // Gọi hàm cha closure(); // Kết quả: "I am from outer function"
Trong ví dụ trên, innerFunction
có thể truy cập vào outerVariable
mặc dù outerFunction
đã hoàn tất việc thực thi. Điều này là nhờ vào cơ chế closure.

Dương Trần Hà, hiện mình đang là kỹ công nghệ phần mềm và cũng là giám đốc thành lập công ty DTH Solutions. Mình có nhiều năm kinh nghiệm, kiến thức chuyên môn lập trình, nodejs, nestjs, laravel, yii2, reactjs, nextjs. Mình đã phát triển rất nhiều dự án thực tế cho doanh nghiệp, cơ quan. Mình đã đạt được một số thành công nhỏ, đồng thời mình vẫn đang tiếp tục học tập để trau dồi kiến thức mỗi ngày. Mình rất yêu thích công nghệ, đam mê chia sẻ những kiến thức, thông tin hữu ích cho mọi người.