ไวยากรณ์
ให้ตัวแปร 1 = ค่า 1
พารามิเตอร์
ตัวแปร 1
ชื่อของตัวแปรที่จะประกาศ
ค่า 1
ค่าเริ่มต้นที่กำหนดให้กับตัวแปร
คำพูด
ใช้คำสั่ง LET เพื่อประกาศตัวแปรที่ขอบเขตถูก จำกัด ไว้ที่บล็อกที่ประกาศ คุณสามารถกำหนดค่าให้กับตัวแปรเมื่อประกาศตัวแปรหรือคุณสามารถกำหนดค่าให้กับตัวแปรในภายหลังในสคริปต์
ตัวแปรที่ประกาศใช้ LET ไม่สามารถใช้ก่อนการประกาศมิฉะนั้นจะเกิดข้อผิดพลาด
หากตัวแปรของคุณไม่ได้เริ่มต้นในคำสั่ง LET จะได้รับการกำหนดค่า JavaScript โดยอัตโนมัติที่ไม่ได้กำหนด
ตัวอย่าง:
var l = 10; {ให้ l = 2; // ณ จุดนี้ l = 2.} // ณ จุดนี้, l = 10.// วิธีเพิ่มเติมในการประกาศตัวแปรโดยใช้ let.let index; ให้ชื่อ = "Thomas Jefferson"; ให้คำตอบ = 42, counter, numPages = 10; ให้ myArray = new Array ();ขอบเขตระดับบล็อก
สำหรับ (var i = 0; i <10; i ++) {} console.log (i); // 10 สำหรับ (ให้ j = 0; j <10; j ++) {} console.log (j); // "ReferenceRror: J ไม่ได้กำหนดไว้ไม่มีโปรโมชั่นตัวแปร
console.log (a); // เอาต์พุต undefinedConsole.log (b); // ข้อผิดพลาด referenterRorConsole.log (c); // ข้อผิดพลาด referenterRorvar a = 2; ให้ b = 2;
ให้ความสนใจกับความแตกต่างระหว่าง undefined และ referenceRor
โซนตายชั่วคราว (TDZ)
ตราบใดที่คุณเข้าสู่ขอบเขตระดับบล็อกปัจจุบันตัวแปรที่ใช้มีอยู่แล้ว แต่เป็นโซนตายก่อนการประกาศและไม่สามารถใช้งานได้
หมายเหตุ: typeof ไม่ได้ดำเนินการปลอดภัย 100% อีกต่อไป
typeof x; // referenterRortypeof y // undefinedlet x;
ไม่อนุญาตให้มีข้อความซ้ำ ๆ
ให้ x = 1; ให้ x; // "syntaxerror: ตัวระบุ 'x' ได้รับการประกาศแล้ว y = 2; var y = 3; // y = 3
ขอบเขตระดับบล็อก
// การเขียนฟังก์ชั่นที่ไม่ระบุชื่อ (ฟังก์ชั่น () {var tmp = ... ; ... } ()); // การเขียนขอบเขตระดับบล็อก {ให้ tmp = ... ; -โหมดที่เข้มงวดของ ES5 กำหนดว่าฟังก์ชั่นสามารถประกาศได้ภายในขอบเขตและฟังก์ชั่นระดับบนสุดเท่านั้นและการประกาศในสถานการณ์อื่น ๆ (เช่นถ้าบล็อกโค้ดบล็อกรหัสลูป) จะรายงานข้อผิดพลาด
// es5'use เข้มงวด '; ถ้า (จริง) {function f () {} // รายงานข้อผิดพลาด}เนื่องจาก ES6 แนะนำขอบเขตระดับบล็อกสถานการณ์นี้สามารถเข้าใจได้ว่าเป็นฟังก์ชั่นที่ประกาศภายในขอบเขตระดับบล็อกดังนั้นจึงไม่มีการรายงานข้อผิดพลาด แต่การจัดฟันที่ทำขึ้นบล็อกไม่สามารถหายไปได้
// รายงานข้อผิดพลาด 'ใช้อย่างเข้มงวด'; ถ้า (จริง) ฟังก์ชั่น f () {}ตัวแปรทั่วโลกที่ประกาศไม่ได้เป็นคุณสมบัติของหน้าต่างอีกต่อไป
"ใช้เข้มงวด"; var a = 1; console.log (window.a) // 1let b = 1; console.log (window.b) // undefined