บันทึกเทคนิคของ zhaoJian

คอร์ส IT พื้นฐาน JavaScript 041_การแตกแขนงแบบมีเงื่อนไข if, else, switch

การเรียนรู้ / พื้นฐาน JavaScript ~2978 คำ · อ่าน 8 นาที - ครั้งที่อ่าน

คำสั่งเงื่อนไขใน JavaScript ประกอบด้วย if, else if, else และ switch เป็นหลัก

คำสั่ง if

คำสั่ง if ใช้สำหรับตัดสินใจว่าจะรันโค้ดส่วนใดส่วนหนึ่งหรือไม่ตามเงื่อนไข เมื่อนิพจน์เงื่อนไขภายในวงเล็บของคำสั่ง if(...) เป็น true จะรันคำสั่ง หนึ่งบรรทัด หลัง if หากต้องการควบคุมหลายบรรทัดของโค้ด สามารถใช้ {} เพื่อครอบคำสั่ง แนะนำให้ใช้วงเล็บปีกกา {} เพื่อห่อหุ้มบลอกโค้ดทุกครั้งที่ใช้คำสั่ง if แม้ว่าจะมีเพียงหนึ่งคำสั่ง เพื่อเพิ่มความสามารถในการอ่านโค้ด หากนิพจน์เงื่อนไขเป็น false จะไม่ทำงาน หากนิพจน์เงื่อนไขหลัง if ไม่ใช่ค่าบูลีน จะถูกแปลงเป็นค่าบูลีนก่อนแล้วจึงคำนวณ ตัวเลข 0, สตริงว่าง "", null, undefined และ NaN จะถูกแปลงเป็น false ทั้งหมด ค่าอื่นๆ จะถูกแปลงเป็น true

ตัวอย่าง:

let age = 18;
if (age >= 18) console.log('ผู้ใหญ่');
if (age >= 18) {
console.log('ผู้ใหญ่');
}

คำสั่ง if-else

คำสั่ง if-else สามารถรันบลอกโค้ดที่แตกต่างกันตามเงื่อนไขที่แตกต่างกัน หากค่าของนิพจน์เป็น true จะรันบลอกโค้ดหลัง if มิฉะนั้นจะรันบลอกโค้ดหลัง else

ตัวอย่าง:

let age = 25;
if (age >= 18) {
console.log('ผู้ใหญ่');
} else {
console.log('ผู้เยาว์');
}

คำสั่ง else if

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

ตัวอย่าง:

let score = 95;
if (score >= 90) {
console.log('ดีเยี่ยม');
} else if (score >= 60) { //ลองเรียงลำดับเงื่อนไขนี้ไปที่อันดับแรกและดูว่าผลลัพธ์เป็นอย่างไร?
console.log('ผ่าน');
} else {
console.log('ไม่ผ่าน');
}

คำสั่ง switch

คำสั่ง switch สามารถแทนที่การตัดสินแบบ if หลายครั้ง โดยทำการเลือกหลายทางตามค่าของนิพจน์ เมื่อรันคำสั่ง switch จะเปรียบเทียบนิพจน์หลัง switch และนิพจน์หลัง case แบบ เท่ากันอย่างเคร่งครัด ตามลำดับ หากผลการเปรียบเทียบเป็น true คำสั่ง switch จะรันบลอกโค้ดหลัง case ที่สอดคล้อง จนกว่าจะพบคำสั่ง break ที่ใกล้ที่สุด (หรือจนถึงจุดสิ้นสุดของคำสั่ง switch) หากไม่มี case ที่ตรงกัน จะรันบลอกโค้ด default (หาก default มีอยู่)

ตัวอย่าง:

let day = 7;
switch (day) {
case 1:
console.log('วันจันทร์');
break;
case 2:
console.log('วันอังคาร');
break;
case 6: //การจัดกลุ่ม case
case 7: //หลาย case ที่ใช้โค้ดเดียวกันสามารถจัดกลุ่มเข้าด้วยกันได้
console.log('วันหยุดสุดสัปดาห์');
break;
default:
console.log('อื่นๆ');
}

break หยุด (จบ, ออกจาก) ลูป

break ใช้สำหรับหยุด (จบ, ออกจาก) ลูปปัจจุบันหรือคำสั่ง switch หากไม่มี break จะทำงานต่อ case ถัดไป (เกิดปรากฏการณ์ “ทะลุ”)

ตัวอย่าง:

let day = 2;
switch (day) {
case 1:
console.log('วันจันทร์');
break;
case 2:
console.log('วันอังคาร');
// ไม่มี break จะทำงาน case ถัดไปต่อ
case 3:
console.log('วันพุธ');
break;
default:
console.log('อื่นๆ');
}
แชร์:

ความคิดเห็น