قواعد
دع variable1 = value1
المعلمة
متغير 1
اسم المتغير للإعلان.
Value1
القيمة الأولية المخصصة للمتغير.
ملاحظة
استخدم بيان LET لإعلان متغير يقتصر نطاقه على الكتلة التي تعلن ذلك. يمكنك تعيين قيم للمتغيرات عند إعلان المتغيرات ، أو يمكنك تعيين قيم للمتغيرات لاحقًا في البرنامج النصي.
لا يمكن استخدام المتغيرات التي تم إعلانها باستخدام LET قبل الإعلان ، وإلا فإن الخطأ سيحدث.
إذا لم تتم تهيئة المتغير الخاص بك في عبارة LET ، فسيتم تعيين قيمة JavaScript غير محددة تلقائيًا.
مثال:
var l = 10 ؛ {let l = 2 ؛ // في هذه المرحلة ، l = 2.} // في هذه المرحلة ، l = 10.// طرق إضافية لإعلان متغير باستخدام let.let index ؛ let name = "Thomas Jefferson" ؛ دع الإجابة = 42 ، العداد ، numpages = 10 ؛ دع myarray = new array () ؛نطاق مستوى الكتلة
لـ (var i = 0 ؛ i <10 ؛ i ++) {} console.log (i) ؛ // 10for (Let j = 0 ؛ J <10 ؛ J ++) {} console.log (j) ؛ // "Referenceerror: J غير محددلا ترويج متغير
console.log (a) ؛ // Output undefinedConsole.log (b) ؛ // error referenceerrorconsole.log (c) ؛ // error referenceerrorvar a = 2 ؛ let b = 2 ؛
انتبه إلى الفرق بين غير محدد ومرجعية
منطقة ميتة مؤقتة (TDZ)
طالما أنك تدخل نطاق مستوى الكتلة الحالي ، فإن المتغيرات المستخدمة موجودة بالفعل ، لكنها مناطق ميتة قبل الإعلان ولا يمكن تشغيلها.
ملاحظة: لم يعد Typeof عملية آمنة بنسبة 100 ٪
نوع X ؛ // ReferenceerRortypeof y // undefinedlet x ؛
لا يُسمح بالبيانات المتكررة
دع x = 1 ؛ دع x ؛ // "SyntaxError: تم الإعلان بالفعل عن المعرف" X "
نطاق مستوى الكتلة
// كتابة الوظيفة المجهولة (function () {var tmp = ... ؛ ...} ()) ؛ // كتابة نطاق المستوى {Let tmp = ... ؛ ...}ينص الوضع الصارم لـ ES5 على أنه لا يمكن الإعلان عن الوظائف إلا في نطاق ووظيفة المستوى الأعلى ، وسوف تقوم التصريحات في المواقف الأخرى (مثل كتل الرمز ، وكتل رمز الحلقة) بالإبلاغ عن أخطاء.
// es5'use صارم '؛ if (true) {function f () {} // الإبلاغ عن خطأ}نظرًا لأن ES6 يقدم نطاقًا على مستوى الكتلة ، يمكن فهم هذا الموقف على أنه وظيفة تم إعلانها في نطاق مستوى الكتلة ، لذلك لم يتم الإبلاغ عن أي خطأ ، ولكن لا يمكن أن تكون الأقواس التي تشكل الكتلة مفقودة.
// الإبلاغ عن خطأ "استخدم صارمًا" ؛ if (true) function f () {}لم يعد المتغير العالمي المعلن خاصية للنافذة
"استخدام صارم" ؛ var a = 1 ؛ console.log (window.a) // 1let b = 1 ؛ console.log (window.b) // undefined