JavaScript | Προαιρετική αλυσίδα

Javascript Proairetike Alysida



Η προαιρετική αλυσίδα είναι μια αρκετά νέα δυνατότητα της JavaScript που εισήχθη από την ECMA international. Χρησιμοποιείται για τον έλεγχο των ιδιοτήτων των βαθιά ένθετων αντικειμένων χωρίς να χρειάζεται να ανησυχείτε για την ιδιότητα που δεν υπάρχει. Παρέχει έναν ασφαλή τρόπο ελέγχου για αυτές τις τιμές χωρίς να υπάρχουν σφάλματα. Ο προαιρετικός τελεστής αλυσίδας επιστρέφει μια απροσδιόριστη τιμή αντί για ένα σφάλμα, όταν η αναφορά δεν υπάρχει. Αυτή η δυνατότητα δεν είναι κάτι που σίγουρα θα χρειαστείτε στον κώδικά σας, αλλά συχνά μπορεί να αποδειχθεί πολύ χρήσιμο. Η προαιρετική αλυσίδα θα λειτουργήσει καλύτερα όταν δεν είστε πραγματικά σίγουροι για το πώς μπορεί να μοιάζουν πραγματικά τα δεδομένα, π.χ. όταν εργάζεστε με API.

Ο προαιρετικός μεταβαλλόμενος τελεστής θα συνεχίσει τη διαδρομή μέχρι να φτάσει σε μια τιμή ιδιότητας ή να εμφανιστεί ένα σφάλμα:

ας εργαζόμενος = {
όνομα : 'Γιάννης' ,
επίθετο : 'Ελαφίνα' ,
Ηλικία : 3. 4
} ;

κονσόλα. κούτσουρο ( υπάλληλος. διεύθυνση ? . φερμουάρ ) ;







Εάν είχαμε προσπαθήσει να αποκτήσουμε πρόσβαση στην ίδια τιμή ιδιότητας χωρίς να χρησιμοποιήσουμε τον προαιρετικό τελεστή αλυσίδας, τότε θα είχαμε λάβει ένα σφάλμα:



ας εργαζόμενος = {
όνομα : 'Γιάννης' ,
επίθετο : 'Ελαφίνα' ,
Ηλικία : 3. 4
} ;

κονσόλα. κούτσουρο ( υπάλληλος. διεύθυνση . φερμουάρ ) ;



Προαιρετική Αλυσίδα στις κλήσεις μεθόδων

Η προαιρετική αλυσίδα λειτουργεί επίσης σε κλήσεις μεθόδων. Μπορείτε να χρησιμοποιήσετε την προαιρετική αλυσίδα όταν δεν είστε σίγουροι εάν μια μέθοδος υπάρχει σε ένα αντικείμενο. Ένα παράδειγμα περίπτωσης χρήσης είναι τα δεδομένα που λαμβάνονται από ένα API το οποίο μπορεί να περιέχει ή να μην περιέχει ορισμένες λειτουργίες ανάλογα με τη συσκευή του χρήστη:





ας εργαζόμενος = {
όνομα : 'Γιάννης' ,
επίθετο : 'Ελαφίνα' ,
Ηλικία : 3. 4
} ;

κονσόλα. κούτσουρο ( υπάλληλος. μέθοδος ? . ( ) ) ;

Χωρίς προαιρετική αλυσίδα:



ας εργαζόμενος = {
όνομα : 'Γιάννης' ,
επίθετο : 'Ελαφίνα' ,
Ηλικία : 3. 4
} ;

κονσόλα. κούτσουρο ( υπάλληλος. μέθοδος ( ) ) ;

Ο προαιρετικός τελεστής αλυσίδας μπορεί επίσης να χρησιμοποιηθεί πολλές φορές μέσα σε μία μόνο πρόταση για την αποφυγή σφαλμάτων.

Συνδυασμός προαιρετικής αλυσίδας με τον τελεστή συγχώνευσης Nullish

Η προαιρετική αλυσίδα μπορεί επίσης να συνδυαστεί με το ?? τελεστής για να παρέχει μια προεπιλεγμένη τιμή σε περίπτωση που η ιδιότητα ή η μέθοδος δεν υπάρχει:

ας εργαζόμενος = {
όνομα : 'Γιάννης' ,
επίθετο : 'Ελαφίνα' ,
Ηλικία : 3. 4
} ;

κονσόλα. κούτσουρο ( υπάλληλος. μέθοδος ? . ( ) ?? 'Η λειτουργία δεν υπάρχει' ) ;

Η προεπιλεγμένη τιμή μπορεί επίσης να είναι κάποια κλήση συνάρτησης.

Προαιρετική κατάχρηση αλυσίδων

Εισήχθη η προαιρετική αλυσίδα για να αυξηθεί η αναγνωσιμότητα και η κομψότητα του κώδικα. Θα πρέπει να χρησιμοποιείται προσεκτικά καθώς μπορεί να οδηγήσει σε σίγαση των σφαλμάτων. Η υπερβολική χρήση του προαιρετικού χειριστή αλυσίδων μπορεί να προκαλέσει προβλήματα στον κώδικά σας.

συμπέρασμα

Η προαιρετική αλυσίδα είναι μια πρόσφατη προστιθέμενη δυνατότητα της JavaScript, η οποία μπορεί να χρησιμοποιηθεί για πρόσβαση σε ιδιότητες και μεθόδους εντός αντικειμένων JavaScript βαθιά ένθετα χωρίς να χρειάζεται να ανησυχείτε για τη διενέργεια μη αυτόματων ελέγχων για την ύπαρξη αυτών των μεθόδων και ιδιοτήτων.