Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ความแตกต่างระหว่าง var และ let ใน JavaScript


ดังที่เราทราบในการประกาศตัวแปรในจาวาสคริปต์ เรามีสองตัวเลือกประกาศด้วย var หรือประกาศด้วยให้ ตอนนี้คำถามคือเมื่อใดควรใช้ var และเมื่อใดควรใช้ ให้ i.e อะไรคือข้อแตกต่างที่สำคัญระหว่างทั้งสองอย่าง

ในข้อความต่อไปนี้ เรามาทำความรู้จักกับความแตกต่างที่สำคัญระหว่าง var และ let in javascript

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

ขอบเขตของ let ไม่ได้จำกัดอยู่แค่บล็อกที่กำหนดไว้เท่านั้น แต่ตัวแปรที่มี let ยังไม่ถูกเพิ่มด้วยวัตถุหน้าต่างส่วนกลาง แม้ว่าจะประกาศไว้นอกบล็อกก็ตาม แต่เราสามารถเข้าถึงตัวแปรด้วย var จาก window object ได้หากมีการกำหนดไว้ทั่วโลก

เนื่องจากขอบเขตที่จำกัด ตัวแปรมักจะถูกใช้เมื่อมีการใช้งานอย่างจำกัดของตัวแปรเหล่านั้น เช่น in for loops, while loops หรือภายในขอบเขตของเงื่อนไข if ฯลฯ ในขณะที่ตัวแปร var จะถูกใช้เมื่อค่าของตัวแปรจำเป็นต้องเปลี่ยนแปลงน้อยลงและเคยชินกับ เข้าถึงได้ทั่วโลก

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

ตัวอย่างที่แสดงความแตกต่างระหว่าง var และ let

let a = 'hello'; // globally scoped
var b = 'world'; // globally scoped
console.log(window.a); // undefined
console.log(window.b); // 'world'
var a = 'hello';
var a = 'world'; // No problem, 'hello' is replaced.
let b = 'hello';
let b = 'world'; // SyntaxError: Identifier 'b' has already been declared