เรียนรู้ Short-Circuit ‘&&’ Conditional ใน 3 นาที
06-ธ.ค.-17
คัมภีร์เทพ IT
เชื่อว่าในชีวิตของ Programmer ทุกคนจะต้องผ่านการเขียนโปรแกรมที่ต้องใช้เงื่อนไข (Condition) มาแล้วอย่างแน่นอน วันนี้ทีมงานมีบทความเกี่ยวกับการเรียนรู้ เรียนรู้ Short-Circuit ‘&&’ Conditional อย่างรวดเร็วภายใน 3 นาที มาให้ได้ลองใช้กันครับ
ลองพิจารณา Scenario นี้ดู : คุณมีโปรแกรมที่ต้องเรียกข้อมูล แต่จะสามารถดึงข้อมูลนี้ได้เฉพาะเมื่อ Online เท่านั้น เราอาจพิจารณาใช้ If Statement เพื่อตรวจสอบก่อนว่า เรากำลัง Online หรือไม่ และถ้า Online ก็ให้ดึงข้อมูล นี่คือ Code ที่อาจเข้าข่ายดังกล่าว:
if (online){
getData();
}
|
แน่นอนว่า Code นี้มันถูกต้อง แต่ถ้ามีอีกวิธีการเขียน Code ที่ได้ผลแบบด้านบนล่ะ
online && getData();
|
ตรรกะการใช้ AND
ใน JavaScript นั้น ตัวดำเนินการตรรกะ AND จะคืน “ค่าจริง” ถ้าทั้งสอง Operands เป็นจริง และ จะส่งกลับ “ค่าเท็จ” ในสถานการณ์อื่นๆ ลองมาดูตัวอย่างง่ายๆ กัน:
true && true // true true && false // false false && false // false |
มี 2 ลักษณะที่สำคัญของ ตัวดำเนินการตรรกะ ใน JavaScript ที่คุณควรทราบ
1. Evaluate จาก ซ้าย ไป ขวา
2. Short-circuit
Short-circuit ในที่นี้หมายความว่า ใน JavaScript เมื่อเรา Evaluate คำสั่ง AND (&&) ถ้าหาก Operand ตัวแรกเป็น False แล้ว JavaScript จะทำการ Short-circuit โดยไม่สนใจไปที่ตัว Operand ที่สองเลย หรือกล่าวอีกนัยหนึ่ง หากเรามองไปที่ Operand ตัวที่สองใน AND expression แล้ว Operand ตัวแรกจะต้องเป็น True ซึ่งสิ่งนี้ช่วยให้เราสามารถสร้างรูปแบบบางอย่างที่น่าสนใจให้กับตรรกะ AND ได้
มาทำความเข้าใจกับตัวอย่าง
ย้อนกลับไปที่ตัวอย่างข้างต้น : อย่าลืมว่าในสถานการณ์นี้ Online จะต้องเป็น True ก่อน เราถึงจะสามารถเรียกใช้ฟังก์ชัน getData () ได้ เราลองมาดู Short-circuit conditional กันอีกครั้ง:
online && getData();
|
ถ้า Online เป็น False สมการของเราจะ Short-circuit และฟังก์ชัน getData () ของเราก็จะไม่ทำงาน แต่เมื่อ Online ต้องมีค่าเป็น True เท่านั้น สมการครึ่งหลังถึงจะดำเนินการต่อไป และนั่นคือ เหตุผลที่ Code ข้างต้นจะทำในสิ่งเดียวกันกับ Code ที่เราใช้กันโดยทั่วไปแบบด้านล่าง:
if (online){
getData();
}
|
ที่มา: codeburst.io
อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ
|
บทความที่เกี่ยวข้อง