Ένωση Τύπων στο TypeScript
Συμβαίνει ότι μια συγκεκριμένη μεταβλητή μπορεί
να λαμβάνει τιμές διαφορετικών τύπων. Γνωρίζετε ήδη
ότι σε αυτή την περίπτωση μπορούμε να δηλώσουμε
αυτή τη μεταβλητή με τον τύπο any.
Ωστόσο, υπάρχουν περιπτώσεις όπου γνωρίζουμε ότι η μεταβλητή μπορεί να λαμβάνει τιμές όχι όλων των τύπων, αλλά μόνο ορισμένων. Για παράδειγμα, μπορεί να είναι είτε string, είτε number.
Σε αυτή την περίπτωση, θα είναι καλύτερο να επιτρέψουμε στη μεταβλητή να δέχεται μόνο τους απαιτούμενους τύπους. Αυτό γίνεται χρησιμοποιώντας τον τελεστή ένωσης τύπων, ο οποίος αναπαρίσταται ως μια κάθετη γραμμή.
Ας χρησιμοποιήσουμε αυτόν τον τελεστή για να επιτρέψουμε στη μεταβλητή να είναι είτε string, είτε number:
let test: string | number;
Ας ελέγξουμε - ας αντιγράψουμε στη μεταβλητή έναν αριθμό:
test = 123;
Και τώρα ας αντιγράψουμε σε αυτή ένα string:
test = 'abc';
Και τώρα ας αντιγράψουμε μια boolean τιμή:
test = true; // θα υπάρξει σφάλμα
Δημιουργήστε μια μεταβλητή που μπορεί να είναι
είτε αριθμός, είτε null.
Δημιουργήστε μια μεταβλητή που μπορεί να είναι είτε αριθμός, είτε string, είτε boolean.