โอเปอเรเตอร์การเปลี่ยนแปลงที่เป็นตัวเลือกจะดำเนินต่อไปตามเส้นทางจนกว่าจะถึงค่าคุณสมบัติหรือเกิดข้อผิดพลาด:
ให้พนักงาน = {ชื่อจริง : 'จอห์น' ,
นามสกุล : 'โด้' ,
อายุ : 3. 4
} ;
คอนโซล บันทึก ( พนักงาน. ที่อยู่ ? . zip ) ;
หากเราพยายามเข้าถึงค่าคุณสมบัติเดียวกันโดยไม่ใช้ตัวดำเนินการ chaining ที่เป็นทางเลือก เราก็จะได้รับข้อผิดพลาด:
ให้พนักงาน = {
ชื่อจริง : 'จอห์น' ,
นามสกุล : 'โด้' ,
อายุ : 3. 4
} ;
คอนโซล บันทึก ( พนักงาน. ที่อยู่ . zip ) ;
การเชื่อมโยงทางเลือกในการเรียกเมธอด
การโยงทางเลือกยังใช้งานได้กับการเรียกเมธอด คุณสามารถใช้การโยงทางเลือกได้เมื่อคุณไม่แน่ใจว่ามีเมธอดภายในอ็อบเจ็กต์หรือไม่ ตัวอย่างกรณีการใช้งานคือการดึงข้อมูลจาก API ซึ่งอาจมีหรือไม่มีคุณลักษณะบางอย่างขึ้นอยู่กับอุปกรณ์ของผู้ใช้:
ให้พนักงาน = {
ชื่อจริง : 'จอห์น' ,
นามสกุล : 'โด้' ,
อายุ : 3. 4
} ;
คอนโซล บันทึก ( พนักงาน. กระบวนการ ? . ( ) ) ;
โดยไม่ต้องผูกมัดเพิ่มเติม:
ให้พนักงาน = {
ชื่อจริง : 'จอห์น' ,
นามสกุล : 'โด้' ,
อายุ : 3. 4
} ;
คอนโซล บันทึก ( พนักงาน. กระบวนการ ( ) ) ;
ตัวดำเนินการ chaining ที่เป็นตัวเลือกยังสามารถใช้ได้หลายครั้งภายในคำสั่งเดียวเพื่อหลีกเลี่ยงข้อผิดพลาด
การรวมการต่อสายโซ่เสริมเข้ากับตัวดำเนินการการรวมเป็น Nullish
โซ่เสริมสามารถจับคู่กับ ?? ตัวดำเนินการเพื่อให้ค่าเริ่มต้นในกรณีที่ไม่มีคุณสมบัติหรือวิธีการ:
ให้พนักงาน = {ชื่อจริง : 'จอห์น' ,
นามสกุล : 'โด้' ,
อายุ : 3. 4
} ;
คอนโซล บันทึก ( พนักงาน. กระบวนการ ? . ( ) ?? 'ไม่มีฟังก์ชัน' ) ;
ค่าเริ่มต้นยังสามารถเรียกใช้ฟังก์ชันบางอย่างได้
การผูกมัดทางเลือกมากเกินไป
มีการแนะนำการผูกมัดที่เป็นตัวเลือกเพื่อเพิ่มความสามารถในการอ่านและความสง่างามของรหัส ควรใช้อย่างระมัดระวัง เพราะอาจทำให้ข้อผิดพลาดเงียบลงได้ การใช้ตัวดำเนินการ chaining ที่เป็นตัวเลือกมากเกินไปอาจทำให้เกิดปัญหาในโค้ดของคุณ
บทสรุป
การโยงทางเลือกเป็นคุณลักษณะที่เพิ่มเข้ามาเมื่อเร็วๆ นี้ของ JavaScript ซึ่งสามารถใช้เพื่อเข้าถึงคุณสมบัติและเมธอดภายในออบเจ็กต์ JavaScript ที่ซ้อนกันอย่างลึกโดยไม่ต้องกังวลเกี่ยวกับการตรวจสอบด้วยตนเองสำหรับการมีอยู่ของเมธอดและคุณสมบัติเหล่านั้น