เรียนรู้เงื่อนไขการลัดวงจร '&&' ในสามนาที

Udemy Cyber ​​Monday Sale — หลักสูตรการพัฒนาเว็บและการพัฒนาซอฟต์แวร์หลายพันรายการลดราคาเพียง $10 ในระยะเวลาจำกัด! ดูรายละเอียดทั้งหมดและคำแนะนำหลักสูตรได้ที่นี่

นี่คือส่วนที่หนึ่งของซีรีส์สองส่วนในสัปดาห์นี้:

ตัวอย่าง

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

if (online){
  getData();
}

สุดยอด. รหัสนี้ใช้งานได้ดี

แต่จะเกิดอะไรขึ้นถ้าฉันบอกคุณว่าโค้ดนี้ทำสิ่งเดียวกันกับโค้ดด้านบน:

online && getData();

ตรรกะและ

ใน JavaScript ตัวดำเนินการตรรกะ AND จะคืนค่าเป็นจริงหากตัวถูกดำเนินการทั้งสองเป็นจริง มันจะคืนค่าเท็จในสถานการณ์อื่น ๆ นี่เป็นตัวอย่างง่ายๆ บางส่วน:

true && true
// true
true && false
// false
false && false
// false

ตัวดำเนินการเชิงตรรกะใน JavaScript มีสองประเด็นที่สำคัญที่คุณควรทราบ:

  • พวกเขาประเมินจากซ้ายไปขวา
  • ลัดวงจร

การลัดวงจรหมายความว่าใน JavaScript เมื่อเราประเมินนิพจน์ AND (&&) หากตัวถูกดำเนินการตัวแรกเป็นเท็จ JavaScript จะลัดวงจรและไม่ดูแม้แต่ตัวถูกดำเนินการตัวที่สองด้วยซ้ำ

กล่าวอีกนัยหนึ่ง — หากต้องการดูตัวถูกดำเนินการตัวที่สองในนิพจน์ตรรกะ AND ตัวถูกดำเนินการตัวแรกจะต้องเป็นจริง สิ่งนี้ช่วยให้เราทำสิ่งเจ๋งๆ ได้ด้วยตรรกะ AND

การทำความเข้าใจตัวอย่าง

กลับไปที่ตัวอย่างเริ่มต้นของเรา จำไว้ว่าในสถานการณ์นี้ online ต้องเป็น true ก่อนที่เราจะสามารถเรียกใช้ฟังก์ชัน getData() ของเราได้

นี่คือเงื่อนไขการลัดวงจรอีกครั้ง:

online && getData();

ถ้า online เป็นเท็จ สมการของเราจะลัดวงจร และฟังก์ชัน getData() ของเราจะไม่ทำงาน เฉพาะเมื่อ online เท่ากับ true เท่านั้น ครึ่งหลังของสมการจะถูกพิจารณา/ดำเนินการ

นั่นคือเหตุผลที่โค้ดด้านบนจะทำสิ่งเดียวกันกับโค้ดแบบมีเงื่อนไขทั่วไปของเรา:

if (online){
  getData();
}

สวยเท่ใช่มั้ยล่ะ?

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

หมายเหตุปิดท้าย:

ขอขอบคุณที่อ่าน และหวังว่านี่จะเป็นประโยชน์! หากคุณพร้อมที่จะเรียนรู้การพัฒนาเว็บในที่สุด โปรดดูที่ สุดยอดคู่มือสำหรับการเรียนรู้การพัฒนาเว็บแบบ Full Stack ใน 6 เดือน

ฉันเผยแพร่บทความเกี่ยวกับการพัฒนาเว็บไซต์ 4 บทความในแต่ละสัปดาห์ โปรดพิจารณา ป้อนอีเมลของคุณที่นี่ หากคุณต้องการเพิ่มลงในรายชื่ออีเมลของฉันสัปดาห์ละครั้ง หรือติดตามฉันบน Twitter

หากโพสต์นี้มีประโยชน์ โปรดคลิกปุ่ม 👏 ด้านล่างสองสามครั้งเพื่อแสดงการสนับสนุนของคุณ! ⬇⬇