"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > دع، const، var الفرق في جافا سكريبت؟

دع، const، var الفرق في جافا سكريبت؟

تم النشر بتاريخ 2024-08-21
تصفح:238

let, const , var difference in Javascript?

في جافا سكريبت، يتم استخدام Let وconst وvar للإعلان عن المتغيرات، ولكنها تختلف في ثلاث طرق:

1. نِطَاق
2. إعادة التعيين
3. الرفع

1.النطاق:

var هو نطاق وظيفي يعني أننا نصل إلى متغير var في أي مكان داخل الوظيفة إذا حاولنا الوصول إليه خارج الوظيفة فسوف يظهر خطأ غير محدد
مثال:-

function demo(){
  if(true){
    var n = 3;
  }
  console.log(n)
}
console.log(n) //ReferenceError: n is not defined
demo();

let & const عبارة عن حظر يعني أنه يمكننا الوصول إليها ضمن النطاق فقط وإلا فسوف يظهر خطأ غير محدد
مثال:-

function demo(){
  if(true){
    let n = 3;
    const m = 5;
     console.log(n) // 3
     console.log(m) // 5
  }
  console.log(n) //ReferenceError: n is not defined
  console.log(m) //ReferenceError: n is not defined
}
console.log(n) //ReferenceError: n is not defined
console.log(m) //ReferenceError: n is not defined
demo();

2. إعادة التعيين

  • var: يمكن إعادة تعيينه وإعادة إعلانه ضمن نطاقه.
  • let: يمكن إعادة تعيينه ولكن لا يمكن إعادة الإعلان عنه ضمن نطاقه.
  • const: لا يمكن إعادة تعيينها أو إعادة إعلانها. المتغير نفسه غير قابل للتغيير، على الرغم من أنه لا يزال من الممكن تعديل الكائنات والمصفوفات المخصصة لـ const .

3. الرفع

  • تم رفع var، مما يعني أنه يمكن الوصول إليه قبل الإعلان عنه، ولكن قيمته ستكون غير محددة حتى يصل الكود إلى السطر الذي تمت فيه تهيئة المتغير.
  • تم أيضًا رفع let، ولكن على عكس var، لا يمكن الوصول إليه قبل إعلانه بسبب "المنطقة الميتة المؤقتة."
  • يتم أيضًا رفع المتغيرات المعلنة بـ const ولكن يجب تهيئتها في وقت الإعلان ولا يمكن إعادة تعيينها. ومع ذلك، إذا كان المتغير كائنًا أو مصفوفة، فيمكن تعديل محتوياته (على سبيل المثال، إضافة أو إزالة عناصر من مصفوفة).
// var example
console.log(a); // undefined (due to hoisting)
var a = 10;
console.log(a); // 10

// let example
console.log(b); // ReferenceError: Cannot access 'b' before initialization
let b = 20;
console.log(b); // 20

// const example
const c = 30;
c = 40; // TypeError: Assignment to constant variable
بيان الافراج تم نشر هذه المقالة على: https://dev.to/sagar7170/let-const-var-difference-in-javascript-2d82?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3