JavaScript 000: ให้ vs. const กับ var

Dec 06 2022
บทนำ ใน JavaScript `let`, `const` และ `var` เป็นคำหลักสามคำที่ใช้สำหรับการประกาศตัวแปร คำหลักเหล่านี้กำหนดขอบเขตและการเข้าถึงของตัวแปรที่ประกาศ
แหล่งที่มาของรูปภาพ

บทนำ

ในจาวาสคริปต์ `let`, `const` และ `var` เป็นคำหลักสามคำที่ใช้สำหรับการประกาศตัวแปร

คำหลักเหล่านี้กำหนดขอบเขตและการเข้าถึงของตัวแปรที่ประกาศ

— ` let `: คีย์เวิร์ดนี้ใช้เพื่อประกาศตัวแปรที่มีขอบเขตบล็อก ซึ่งหมายความว่าตัวแปรที่ประกาศ ` let `สามารถเข้าถึงได้ภายในบล็อกที่มีการประกาศเท่านั้น

— ` const `: คีย์เวิร์ดนี้ใช้เพื่อประกาศตัวแปรที่เป็นค่าคงที่ ซึ่งหมายความว่าค่าของตัวแปรจะไม่สามารถเปลี่ยนแปลงได้หลังจากประกาศแล้ว เช่นเดียวกับ ` let`ตัวแปรที่ประกาศ `const` จะถูกกำหนดขอบเขตแบบบล็อกด้วย

— ` var `: คีย์เวิร์ดนี้ใช้ในการประกาศตัวแปรที่มีขอบเขตของฟังก์ชัน ซึ่งหมายความว่าตัวแปรที่ประกาศ ` var `ไม่สามารถเข้าถึงได้เฉพาะภายในบล็อกที่มีการประกาศเท่านั้น แต่ยังเข้าถึงได้ตลอดทั้งฟังก์ชันที่มีการประกาศ

นี่คือตัวอย่างที่แสดงให้เห็นถึงความแตกต่างระหว่างคำหลักสามคำ:

function myFunc() {
    // using var
    if (true) {
      var x = 5;
      console.log(x); // Output: 5
    }
    console.log(x); // Output: 5
  
    // using let
    if (true) {
      let y = 5;
      console.log(y); // Output: 5
    }
    console.log(y); // Output: ReferenceError: y is not defined
  
    // using const
    if (true) {
      const z = 5;
      console.log(z); // 5
    }
    console.log(z); // Output: ReferenceError: z is not defined
  
    // attempting to change value of a const variable
    z = 10; // Output: TypeError: Assignment to constant variable.
}

myFunc()

ตัวแปร ` y ` ถูกประกาศด้วย ` let ` ภายในบล็อก ` if ` และไม่สามารถเข้าถึงได้นอกบล็อกเพราะมีขอบเขตบล็อก

ตัวแปร ` z ` ถูกประกาศด้วย ` const ` ภายในบล็อก ` if ` และไม่สามารถเข้าถึงได้ภายนอกบล็อกด้วย เนื่องจากมีขอบเขตของบล็อก

นอกจากนี้ เนื่องจาก ` z ` เป็นตัวแปรคงที่ ค่าของมันจึงไม่สามารถเปลี่ยนแปลงได้หลังจากประกาศแล้ว

ฉันหวังว่าคุณจะสนุกกับการแนะนำตัวแปร JavaScript นี้!

ติดตามฉัน: LinkedIn , Twitter