ما فائدة استعمال closure في جافا سكريبت

جلست ابحث لوقت شوي طويل عن فوائد استعمال closure لكن ما لقيت سبب مقنع كل الي فهمته ان الوصول يصير غير مباشر للدوال الداخلية فقط


abnud1 أضف ردا

الـclosure ليست شيئاً تستعمله حين تريد استعماله بل حين تحتاج إليه، مثلاً ما فوائد استعمال المطرقة ؟ هذا سؤال غير منطقي وإنما السؤال المنطقي هو " متى نستعمل المطرقة" والجواب هو "حين نريد أن ندق مسماراً في الحائط مثلاً"

اﻵن لنسأل متى نستعمل closure ؟ ببساطة حين نمرر callback إلى تابع ويحتاج هذا الـcallback إلى متحول معرف خارجه، مثال:

 var mainElement = document.getElementById("main")
 setTimeout(() => {
       mainElement.innerHTML="مرت ثلاث ثوان";
 },3000)