ความไม่จำเป็นของ break ในโครงสร้าง switch-case ใน JavaScript
คำสั่ง break ในโครงสร้าง switch-case
ไม่ใช่สิ่งที่จำเป็น เมื่อไม่มี break
หลังจากที่ case ที่ตั้งใจไว้ทำงานเสร็จแล้ว
case ทั้งหมดที่อยู่ด้านล่างของมันก็จะทำงานตามไปด้วย
มาดูตัวอย่างกัน:
let num = 1; // กำหนดให้มีเลข 1 ตรงนี้
switch (num) {
case 1:
console.log(1); // อันนี้จะทำงาน
case 2:
console.log(2); // อันนี้ก็จะทำงาน
case 3:
console.log(3); // อันนี้ก็จะทำงาน
}
ลองเปลี่ยนค่าตัวแปร:
let num = 2; // กำหนดให้มีเลข 2 ตรงนี้
switch (num) {
case 1:
console.log(1);
case 2:
console.log(2); // อันนี้จะทำงาน
case 3:
console.log(3); // อันนี้ก็จะทำงาน
}
เปลี่ยนค่าตัวแปรอีกครั้ง:
let num = 3; // กำหนดให้มีเลข 3 ตรงนี้
switch (num) {
case 1:
console.log(1);
case 2:
console.log(2);
case 3:
console.log(3); // อันนี้จะทำงาน
}
บางครั้งลักษณะเฉพาะนี้ก็ถูกนำไปใช้ ในการแก้ไขปัญหา ดูตัวอย่าง:
let num = 1;
let res;
switch (num) {
case 1:
case 2:
res = 'a';
break;
case 3:
res = 'b';
break;
}
console.log(res);
อย่างไรก็ตาม การแก้ไขปัญหาดังกล่าว
ด้วย if นั้นดูชัดเจนกว่า:
let num = 1;
let res;
if (num == 1 || num == 2) {
res = 'a';
}
if (num == 3) {
res = 'b';
}
console.log(res);