Yehia Amin2 نشر منذ 8 ساعة أرسل تقرير نشر منذ 8 ساعة فى الكود التالى لماذا لا تعمل setTimeout بدون () => Arrow Function ما دلالة ومعنى arrow Function () => ولماذا عند تهميش arrow function لا يعمل الكود؟! setTimeout( /*() =>*/ console.log("Hello Yehia"), 3000); 1 اقتباس
0 محمد عاطف25 نشر منذ 8 ساعة أرسل تقرير نشر منذ 8 ساعة المشكلة هنا تكمن في طريقة عمل setTimeout. فالكود الذي كتبته: setTimeout(console.log("Hello Yehia"), 3000); هذا لا يعمل كما تتوقع لأنك نفذت console.log مباشرة بدل أن ترسلها كدالة ليتم تنفيذها بعد 3 ثوان. وإليك كيف تعمل الدالة setTimeout تتوقع الشكل التالي: setTimeout(دالة, الوقت); يعني أن : الوسيط الأول: دالة (Function) الوسيط الثاني: عدد المللي ثانية التي يتم تنفيذ الدالة بعدها. هكذا : setTimeout(() => { console.log("Hello Yehia"); }, 3000); إذا setTimeout تحتاج أن يتم تمرير دالة لها حتى تقوم بتنفيذ تلك الدالة بعد عدد معين من الثواني . ولكن لو لم تمرر لها دالة فسيتم تنفيذ الكود في الحال كما حدث معك. إذا يجب عليك تمرير دالة إلى setTimeout سواء كانت دالة سهمية أو دالة عادية . ما معنى () => : هذه تسمى Arrow Function أى دالة سهمية وهي طريقة مختصرة لكتابة الدوال في JavaScript بشكل سريع. فمثلا الشكل العادي للدالة : function () { console.log("Hello"); } نفس الشيء بالـ Arrow Function: () => { console.log("Hello"); } إذا تستخدم الدالة السهمية للسهولة وإستخدام دالة في مكان واحد ولن تستخدمها في أكثر من مكان وهنا بدلا من تعريف دالة في مكان منفصل وإستخدامها مرة واحدة نستخدم الدالة السهمية مباشرة في المكان الذي نريده . بتاريخ 8 دقائق مضت قال Yehia Amin2: ولماذا عند تهميش arrow function لا يعمل الكود؟! كما أخبرتك لأن هذا هو طريقة عمل setTimeout يجب أن تمرر دالة لها ليتم تنفيذ تلك الدالة بعد مدة من الزمن ولكن إذا لم تمرر لها دالة فلن تستطيع أن تعرف setTimeout ما الذي ستنفذه بعد المدة المحددة . 1 اقتباس
السؤال
Yehia Amin2
فى الكود التالى
لماذا لا تعمل setTimeout بدون () => Arrow Function
ما دلالة ومعنى arrow Function () =>
ولماذا عند تهميش arrow function لا يعمل الكود؟!
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.