האופרטור האופציונלי המשתנה ימשיך במורד הנתיב עד שהוא יגיע לערך מאפיין או יתקל בשגיאה:
לתת לעובד = {שם פרטי : 'ג'ון' ,
שם משפחה : 'צְבִיָה' ,
גיל : 3. 4
} ;
לְנַחֵם. עֵץ ( עוֹבֵד. כתובת ? . רוכסן ) ;
אם היינו מנסים לגשת לאותו ערך מאפיין מבלי להשתמש באופרטור השרשור האופציונלי, היינו מקבלים שגיאה:
לתת לעובד = {
שם פרטי : 'ג'ון' ,
שם משפחה : 'צְבִיָה' ,
גיל : 3. 4
} ;
לְנַחֵם. עֵץ ( עוֹבֵד. כתובת . רוכסן ) ;
שרשור אופציונלי בשיחות שיטה
שרשור אופציונלי עובד גם על קריאות לשיטה. אתה יכול להשתמש בשרשור אופציונלי כאשר אינך בטוח אם קיימת שיטה בתוך אובייקט. מקרה שימוש לדוגמה הוא נתונים שנאספו מ-API אשר עשויים להכיל או לא להכיל תכונות מסוימות בהתאם למכשיר של המשתמש:
לתת לעובד = {
שם פרטי : 'ג'ון' ,
שם משפחה : 'צְבִיָה' ,
גיל : 3. 4
} ;
לְנַחֵם. עֵץ ( עוֹבֵד. שיטה ? . ( ) ) ;
ללא שרשור אופציונלי:
לתת לעובד = {
שם פרטי : 'ג'ון' ,
שם משפחה : 'צְבִיָה' ,
גיל : 3. 4
} ;
לְנַחֵם. עֵץ ( עוֹבֵד. שיטה ( ) ) ;
ניתן להשתמש באופרטור השרשור האופציונלי גם מספר פעמים בתוך הצהרה אחת כדי למנוע שגיאות.
שילוב שרשור אופציונלי עם מפעיל ההתאחדות Nullish
שרשור אופציונלי ניתן גם לזווג עם ?? אופרטור לספק ערך ברירת מחדל במקרה שהנכס או השיטה אינם קיימים:
לתת לעובד = {שם פרטי : 'ג'ון' ,
שם משפחה : 'צְבִיָה' ,
גיל : 3. 4
} ;
לְנַחֵם. עֵץ ( עוֹבֵד. שיטה ? . ( ) ?? 'הפונקציה לא קיימת' ) ;
ערך ברירת המחדל יכול להיות גם קריאת פונקציה כלשהי.
שימוש יתר בשרשור אופציונלי
שרשור אופציונלי הוצג כדי להגביר את הקריאות והאלגנטיות של הקוד. יש להשתמש בו בזהירות מכיוון שהוא עלול לגרום להשתקת שגיאות. שימוש יתר באופרטור השרשור האופציונלי עלול לגרום לבעיות בקוד שלך.
סיכום
שרשור אופציונלי הוא תכונה שנוספה לאחרונה של JavaScript שניתן להשתמש בה כדי לגשת למאפיינים ולשיטות בתוך אובייקטי JavaScript מקוננים עמוקים מבלי שתצטרך לדאוג להכניס בדיקות ידניות לקיומם של שיטות ומאפיינים אלה.