جاوااسکریپت / Closure
آزمون فصل ۸ — Closure
تمرینها
تمرین 1
کدام تعریف برای Closure در جاوااسکریپت درستتر است؟
برای ثبت نتیجهی این تمرین لطفاً وارد حساب کاربری خود شوید.
تمرین 2
در کد زیر، مقدار چاپشده توسط counterB() چیست؟
function createCounter() {
let count = 0;
return function () {
count++;
return count;
};
}
const counterA = createCounter();
const counterB = createCounter();
counterA();
counterA();
console.log(counterB());
برای ثبت نتیجهی این تمرین لطفاً وارد حساب کاربری خود شوید.
تمرین 3
چرا در الگوی Module Pattern (مثل ساخت یک حساب بانکی با Closure)، مقدار داخلی از بیرون شیء قابل دسترسی مستقیم نیست؟
برای ثبت نتیجهی این تمرین لطفاً وارد حساب کاربری خود شوید.
تمرین 4
اگر حلقهی زیر با let (بهجای var) نوشته شود، چرا هر Callback مقدار متفاوتی از i را چاپ میکند؟
for (let i = 1; i <= 3; i++) {
setTimeout(() => console.log(i), 100);
}
برای ثبت نتیجهی این تمرین لطفاً وارد حساب کاربری خود شوید.
تمرین 5
کدام سناریو معمولاً به Memory Leak مرتبط با Closure منجر میشود؟
برای ثبت نتیجهی این تمرین لطفاً وارد حساب کاربری خود شوید.
