Επωφεληθείτε από τους τύπους χρησιμότητας του TypeScript και μπορείτε να επωφεληθείτε από πιο εκφραστικό κώδικα που είναι επίσης πιο ισχυρός.
Το TypeScript είναι ένα υπερσύνολο JavaScript που σας επιτρέπει να προσθέτετε στατική πληκτρολόγηση στη βάση του κώδικά σας. Με το ισχυρό του σύστημα τύπων, το TypeScript προσφέρει βελτιωμένη αναγνωσιμότητα κώδικα και δυνατότητα εντοπισμού σφαλμάτων κατά τη διάρκεια του χρόνου μεταγλώττισης.
Μία από τις πιο ωφέλιμες πτυχές του TypeScript είναι οι ενσωματωμένοι τύποι βοηθητικών προγραμμάτων, οι οποίοι μπορούν να απλοποιήσουν τις προσπάθειες κωδικοποίησης και να εξοικονομήσουν πολύτιμο χρόνο ανάπτυξης. Ρίξτε μια ματιά σε αυτούς τους τύπους βοηθητικού προγράμματος TypeScript που πρέπει να γνωρίζετε που μπορούν να σας βοηθήσουν να γράψετε εύκολα κώδικα ασφαλείας.
TypeScript's Ο μερικός τύπος βοηθητικού προγράμματος σάς επιτρέπει να κάνετε προαιρετικές οποιεσδήποτε ιδιότητες ενός αντικειμένου. Σας επιτρέπει να δημιουργείτε αντικείμενα με συγκεκριμένες ιδιότητες που μπορεί να λείπουν ή να μην έχουν καθοριστεί. Πάρτε για παράδειγμα:
διεπαφή Χρήστης {
όνομα: σειρά;
ηλικία: αριθμός;
ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ: σειρά;
}
Χρησιμοποιώντας την Μερικός τύπος χρησιμότητας, μπορείτε να δημιουργήσετε έναν νέο τύπο με όλες τις ιδιότητες της διεπαφής χρήστη να έχουν οριστεί ως προαιρετικές:
τύπος OptionalUser = Μερικό
Τώρα, μπορείτε να δημιουργήσετε μια παρουσία του τύπου OptionalUser με ορισμένες μόνο ιδιότητες καθορισμένες:
συνθ χρήστης: OptionalUser = {όνομα: "Γιάννης" };
Μπορεί να αντιμετωπίσετε καταστάσεις όπου πρέπει να δημιουργήσετε ένα αντικείμενο με ορισμένες προαιρετικές ιδιότητες. Αυτό μπορεί να φανεί χρήσιμο ειδικά όταν οικοδομούμε μορφές που έχουν πολλά πεδία, καθώς μπορεί να μην απαιτούνται όλα και σε τέτοιες περιπτώσεις, η μερική χρησιμότητα μπορεί να είναι ζωτικής σημασίας.
Ο τύπος βοηθητικού προγράμματος Pick του TypeScript μπορεί να σας βοηθήσει να δημιουργήσετε έναν νέο τύπο επιλέγοντας μόνο ένα υποσύνολο ιδιοτήτων από έναν υπάρχοντα τύπο. Είναι χρήσιμο όταν πρέπει να περιορίσετε ένα μεγαλύτερο αντικείμενο σε λίγες μόνο ιδιότητες που απαιτούνται ή εάν θέλετε να επιβάλετε αυστηρή πληκτρολόγηση στις ιδιότητες που χρειάζεστε.
διεπαφή Χρήστης {
τοποθεσία: σειρά;
ηλικία: αριθμός;
ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ: σειρά;
}τύπος PersonWithoutEmail = Επιλογή
'τοποθεσία' | 'ηλικία'>;
συνθ άτομο: PersonWithoutEmail = {
τοποθεσία: 'ΗΠΑ',
ηλικία: 30
};
Σε αυτό το παράδειγμα, μια διεπαφή με το όνομα "Χρήστης" ορίζει τρεις ιδιότητες: email, ηλικία και τοποθεσία.
Με τη χρήση του Επιλέξτε τύπο βοηθητικού προγράμματος, μπορείτε να εξαγάγετε τις ιδιότητες "location" και "age" επιλεκτικά από τη διεπαφή χρήστη, με αποτέλεσμα τη δημιουργία ενός νέου τύπου που ονομάζεται "PersonWithoutEmail".
Στη συνέχεια, μπορείτε να δημιουργήσετε μια νέα παρουσία του τύπου "PersonWithoutEmail" και να εκχωρήσετε τιμές μόνο στις ιδιότητες "location" και "age". Εφόσον η ιδιότητα "email" έχει παραλειφθεί από αυτόν τον τύπο, δεν μπορείτε να την εκχωρήσετε στο αντικείμενο.
Με τον τύπο βοηθητικού προγράμματος Pick, μπορείτε να δημιουργήσετε έναν νέο τύπο που απλώς ενσωματώνει τις ιδιότητες που θέλετε. Αυτό μπορεί να σας βοηθήσει να κάνετε τον κώδικά σας πιο ευανάγνωστο και ευκολότερο στην εργασία.
Ο τύπος μόνο για ανάγνωση σημαίνει ότι τα χαρακτηριστικά ενός αντικειμένου είναι αμετάβλητα μετά τη δημιουργία του. Αυτός ο τύπος εγγυάται τη συνοχή των δεδομένων του αντικειμένου μακροπρόθεσμα, με αποτέλεσμα πιο ομαλό και ασφαλέστερο χειρισμό κώδικα.
διεπαφή Χρήστης {
όνομα μόνο για ανάγνωση: σειρά;
ηλικία μόνο για ανάγνωση: αριθμός;
email μόνο για ανάγνωση: σειρά;
}
Χρησιμοποιώντας την Τύπος βοηθητικού προγράμματος μόνο για ανάγνωση, μπορείτε να δημιουργήσετε έναν νέο τύπο με όλες τις ιδιότητες διεπαφής χρήστη που ορίζονται ως μόνο για ανάγνωση:
τύπος ReadonlyUser = Μόνο για ανάγνωση
Μπορείτε να καθορίσετε τιμές ιδιοτήτων κατά τη δημιουργία μιας παρουσίας ReadonlyUser::
συνθ χρήστης: ReadonlyUser = {
όνομα: "Γιάννης",
ηλικία: 30,
ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ: "[email protected]"
};
Όταν επισημαίνετε τις ιδιότητες ενός αντικειμένου ως μόνο για ανάγνωση, η προσπάθεια τροποποίησης των τιμών αυτών των ιδιοτήτων καθίσταται αδύνατη:
user.name = "Ιωάννα";
// Σφάλμα: Δεν είναι δυνατή η ανάθεση στο 'όνομα' επειδή είναι μια ιδιότητα μόνο για ανάγνωση.
Ο τύπος Readonly είναι ιδιαίτερα σημαντικός σε περιπτώσεις όπου θέλετε να βεβαιωθείτε ότι ένα συγκεκριμένο αντικείμενο δεν αλλάζει, ανεξάρτητα από το εάν αναφέρεται. Για παράδειγμα, εάν έχετε ένα αντικείμενο που περιέχει σημαντικές ρυθμίσεις διαμόρφωσης, θα θέλατε να βεβαιωθείτε ότι παραμένει αναλλοίωτο.
Αυτός ο τύπος διασφαλίζει ότι υπάρχουν όλες οι βασικές ιδιότητες ενός Αντικειμένου, ενώ ο Μερικός τύπος προσφέρει μεγαλύτερη ευελιξία επιτρέποντάς σας να καθορίσετε ένα υποσύνολο ιδιοτήτων ενώ αφήνετε τις άλλες προαιρετικός. Αυτό μπορεί να αποδειχθεί ευεργετικό σε καταστάσεις όπου ορισμένες ιδιότητες μπορεί να μην είναι απαραίτητες ή υπόκεινται σε αλλαγές.
διεπαφή Χρήστης {
όνομα: σειρά;
τοποθεσία: αριθμός;
διεύθυνση: σειρά;
}
Με τη χρήση του Απαιτούμενος τύπος βοηθητικού προγράμματος, είναι δυνατό να δημιουργηθεί ένας νέος τύπος που συνδυάζει όλα τα χαρακτηριστικά διεπαφής χρήστη, ενώ απαιτεί να υπάρχει καθεμία από αυτές τις ιδιότητες. Η δημιουργία μιας παρουσίας RequiredUser είναι δυνατή μόνο όταν όλες οι ιδιότητές της έχουν ρυθμιστεί σωστά.
συνθ χρήστης: RequiredUser = {
όνομα: "John Doe",
τοποθεσία: "ΗΠΑ",
διεύθυνση: "Κάνσας 9745-0622"
};
Η χρήση του τύπου Required utility διασφαλίζει ότι όλες οι απαιτούμενες ιδιότητες υπάρχουν σε ένα αντικείμενο.
Ο τύπος βοηθητικού προγράμματος Omit σάς επιτρέπει να δημιουργήσετε έναν νέο τύπο εξαιρώντας συγκεκριμένες ιδιότητες από έναν υπάρχοντα τύπο.
διεπαφή Άτομο {
τοποθεσία: σειρά;
ηλικία: αριθμός;
ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ: σειρά;
}
τύπος PersonWithoutEmail = Παράλειψη
'ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ'>;
συνθ άτομο: PersonWithoutEmail = { τοποθεσία: "ΗΠΑ"; ηλικία: 30 };
Η διεπαφή Person έχει τρεις ιδιότητες: ηλικία, τοποθεσία και email. Ο τύπος PersonWithoutEmail χρησιμοποιεί έναν τύπο βοηθητικού προγράμματος Omit για να περιλαμβάνει όλες τις ιδιότητες ενός αντικειμένου Person, εκτός από το email. Στη συνέχεια, μπορείτε να δημιουργήσετε μια παρουσία αυτού του νέου τύπου, χωρίς να καθορίσετε μια τιμή για μια ιδιότητα email.
Θα πρέπει να έχετε κατά νου ότι ο τύπος βοηθητικού προγράμματος Omit έχει σημαντικές ομοιότητες με τον τύπο βοηθητικού προγράμματος Pick, καθώς σας δίνει τη δυνατότητα να επινοήσετε έναν νέο τύπο χρησιμοποιώντας μόνο τις ιδιότητες που καθορίζετε.
Μπορείτε να χρησιμοποιήσετε τον τύπο του βοηθητικού προγράμματος Εγγραφή για να ορίσετε έναν τύπο αντικειμένου για τον οποίο τα κλειδιά και οι τιμές έχουν έναν συγκεκριμένο τύπο. Ο ορισμός του είναι:
τύπος Ρεκόρεκτείνεται κλειδί του όποιος, T> = { [Ρ σε Κ]: Τ;};
Αυτό συσχετίζει τον τύπο T με την τιμή κάθε κλειδιού, ενώ το K είναι μια ένωση κλειδιών οποιουδήποτε τύπου. Το αντικείμενο που προκύπτει έχει την ιδιότητά του τύπου P που έχει οριστεί σε T.
Εξετάστε το σενάριο ενός τύπου αντικειμένου με πλήκτρα συμβολοσειράς και αριθμητικές τιμές. Σε αυτή την περίπτωση, μπορείτε να εφαρμόσετε το Καταγράψτε τον τύπο βοηθητικού προγράμματος όπως και:
τύπος MyRecord = Εγγραφή<σειρά, αριθμός>;
συνθ myObject: MyRecord = {
"foo": 1,
"μπαρ": 2,
"baz": 3,
}
Αυτό το παράδειγμα καθορίζει το MyRecord ως τύπο αντικειμένου με πλήκτρα συμβολοσειράς και αριθμητικές τιμές. Το αντικείμενο myObject ενσωματώνει ένα παράδειγμα αυτού του τύπου, με τα πλήκτρα "foo", "bar" και "baz" να έχουν εκχωρηθεί στις αντίστοιχες τιμές τους.
Αυτό το άρθρο αποκάλυψε την τεράστια δύναμη των τύπων βοηθητικών προγραμμάτων TypeScript – μπορούν να αποτελέσουν πολύτιμο πλεονέκτημα όταν πρόκειται για τον εξορθολογισμό του κώδικά σας και για την ταχύτερη και αποτελεσματικότερη ανάπτυξη. Αυτοί οι τύποι βοηθητικών προγραμμάτων και το TypeScript γενικά, μπορούν να κάνουν θαύματα διασφαλίζοντας ότι ο κώδικάς σας είναι πάντα χωρίς σφάλματα και ότι συμμορφώνεται με συγκεκριμένες δομές.