ลดรูปเพื่อเช็คว่ามีเมธอดไหมถ้ามีจึงเรียกเมธอดนั้นด้วย ?.
Nuttavut Thongjor
JavaScript
เรียนรู้การใช้ Optional Chaining เพื่อเช็คว่ามีเมธอดไหมถ้ามีจึงเรียกเมธอดนั้น
คำอธิบาย
ความคิดเห็น
สมมติให้ออบเจ็กต์ person มีโครงสร้างต่อไปนี้
JavaScript
1const person = {2 name: 'Somchai',3 getName() {4 return this.name5 },6}
ถ้าเราไม่แน่ใจว่า person นั้นมีเมธอด getName
อยู่หรือไม่เราจึงต้องทำการตรวจสอบก่อนถึงจะเรียกใช้งานได้
หากเรียก person โดยตรงในขณะที่เมธอดดังกล่าวไม่มีย่อมทำให้เกิดข้อผิดพลาดขึ้นได้
JavaScript
1if (person.getName) {2 person.getName()3}
หรือเขียนได้อีกรูปแบบคือ
JavaScript
1person.getName && person.getName()
เราสามารถลดรูปการเรียกใช้งานแบบบนได้ด้วยการใช้เครื่องหมาย ?.
ดังนี้
JavaScript
1person?.getName()
เครื่องหมายดังกล่าวเรียกว่า Optional Chainging ผู้อ่านที่สนใจสามารถอ่านเรื่องนี้เพิ่มเติมได้จาก ลิงก์นี้ครับ