Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

Block Statement ใน JavaScript คืออะไร

นิยาม

Block Statement (หรือ Compound Statement) คือการจัดกลุ่มคำสั่ง 0 ตัวขึ้นไปไว้ภายในวงเล็บปีกกา { } เพื่อให้ถูกมองว่าเป็นคำสั่งเดียว

Syntax

{
  // รายการคำสั่ง (statements)
}

ขอบเขตตัวแปร (Scope) ใน Block

สำคัญ: ใน JavaScript แบบเก่า (ES5 และก่อนหน้า) การใช้ var ประกาศตัวแปรภายใน Block ไม่สร้าง Block Scope ตัวแปรจะมี Scope เหมือนกับที่ประกาศนอก Block (Function Scope หรือ Global Scope)

ตัวอย่างพฤติกรรมของ var

var a = 20;
{
  var a = 40;  // ตัวแปร a เดียวกันกับนอกบล็อก
}
document.write(a); // ผลลัพธ์: 40 (ไม่ใช่ 20)

โค้ดด้านบนพิมพ์ค่า 40 เพราะ var a = 40; ภายในบล็อกอ้างอิงตัวแปร a ตัวเดียวกับที่ประกาศนอกบล็อก

การเปลี่ยนแปลงใน ES6 (let/const)

ตั้งแต่ ES6 (ES2015) การใช้ let และ const จะสร้าง Block Scope จริงๆ:

let a = 20;
{
  let a = 40;  // ตัวแปร a ใหม่ แยกจากนอกบล็อก
  console.log(a); // 40
}
console.log(a); // 20

กรณีการใช้งานทั่วไป

  • รวมคำสั่งหลายคำสั่งใน if, else, while, for, function
  • จำกัดขอบเขตตัวแปรชั่วคราว (ด้วย let/const)
  • จัดกลุ่มโค้ดเพื่อความอ่านง่าย

สรุป

Block Statement ใช้จัดกลุ่มคำสั่ง ใน JavaScript แบบเดิม var ไม่เคารพ Block Scope แต่ let และ const (ES6+) เคารพ Block Scope อย่างแท้จริง