سعد الغامدي2 نشر 31 يوليو 2022 أرسل تقرير نشر 31 يوليو 2022 هل يوجد هنالك فرق بين المتغيرات من نوع var او let وما هو ان وجد 2 اقتباس
1 Haroun Taha نشر 31 يوليو 2022 أرسل تقرير نشر 31 يوليو 2022 الكلمة let يتعرف عليها مفسر اللغة على المستوى المحلي للدالة او ال block اي انه إذا تم تعريف متغيّر let داخل دالة فبمجرد خروج المفسر من الدالة لن تستطيع الوصول له الكلمة var تُعرف متغيّر على المستوى العام globally اي ان المتغيّر يعمل على مستوى الملف كامل , اُنظر لأسئلة سابقة مشابهة لسؤالك اقرأ ايضاً عن var , let اقتباس
0 محمد عاطف17 نشر 31 يوليو 2022 أرسل تقرير نشر 31 يوليو 2022 مرحبا أخي . المتغيرات من نوع let و var متشابهان ولكن طريقة العمل هي المختلفه. حيث ان let تم تعريفها فى ES6 (2015). والفروق بينهم كالتالي . 1- إعادة التعريف . إذا قمت بإعادة تعريف المتغير من نوع let وسوف يقوم الكود بإظهار خطأ حيث لا يمكن تعريف المتغير فى المجال . var somthing = "somthing"; var somthing = "somthing2"; // هنا سوف يتم استبدال قيمة المتغير let somthing = "somthing"; let somthing = "somthing2"; // هنا سوف يعطيك الكود خطأ باه لايمكن إعادة تعريف المتغير 2- الرفع او Hoisting. ان لغة جافا سكريبت تتميز بخاصية الرفع دوانا عن معظم لغات البرمجة . تعريف الخاصية هو انه قبل ان يتم بدأ الكود فإن لغة الجافاسكريبت تقوم باعريف جميع المتغيرات عدا المتغيرات من نوع let والدوال فى بداية الكود وليس فى مكان كتابة الكود . console.log(somthing); // undefined هنا سوف يتم طباعة // أى اكواد أخرى var somthing = "somthing"; console.log(somthing); // somthing هنا سوف يتم طباعة ما بداخل المتغير console.log(somthing); // ReferenceError هنا سوف يتم طباعة حيث لايمكنك استخادم المتغير من نوع let قبل تعريفه // أى اكواد أخرى var let = "somthing"; console.log(somthing); // somthing هنا سوف يتم طباعة ما بداخل المتغير 3- المجال . حيث ان المتغيرات من نوع let تنتهى بمجرد انتهاء المجال الخاص بها ولا يمكن استخدامها خارج مجالها بعكس المتغيرات من نوع var var somthing = "somthing"; let somthing2 = "somthing2"; console.log(somthing, somthing2); // somthing somthing2 هنا سوف يتم طباعة المتغيران لانهم فى نفس المجال الخاص بهم { var somthing3 = "somthing3" let somthing4 = "somthing4"; console.log(somthing3, somthing4); // somthing3 somthing4 هنا ايضا سوف يتم طباعة المتغيرات لانهم فى نفس المجال الخاص يهم ولكن نلاحظ ان المتغير من نوع let سوف يتم تدميره بمجرد انتهاء مجاله } console.log(somthing3); // somthing3 هنا سوف يتم طباعةالمتغير من نوع let console.log(somthing4); // ReferenceError هنا سوف يظهر خطأ لان المتغير من نوع let قد تم تدميره بمجرد الانتهاء من المجال الخاص به اقتباس
السؤال
سعد الغامدي2
هل يوجد هنالك فرق بين المتغيرات من نوع var او let وما هو ان وجد
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.