Τα template literal types σας επιτρέπουν να δημιουργήσετε νέους string literal types με παρεμβολή άλλων τύπων σε ένα template — χειρισμό συμβολοσειρών στο επίπεδο τύπου.
= ;
: = ;
: = ;
type Color = "red" | "blue";
type Shade = "light" | "dark";
type Variant = `${Shade}-${Color}`;
// "light-red" | "light-blue" | "dark-red" | "dark-blue" — all combinations
Ο μεταγλωττιστής επεκτείνει κάθε συνδυασμό των unions — χρήσιμο για αυτόματη δημιουργία έγκυρων string keys (κλάσεις CSS, ονόματα συμβάντων, μοτίβα δρομολογίων).
type Entity = "user" | "post";
type Event = `${Entity}:${"created" | "deleted"}`;
// "user:created" | "user:deleted" | "post:created" | "post:deleted"
function on(event: Event, cb: () => void) {}
on("user:created", () => {}); // ✅
on("user:updated", () => {}); // ❌ not a valid event
type Getters<T> = {
[K in keyof T & string as `get${Capitalize<K>}`]: () => T[K];
};
// { name: string } → { getName: () => string }
Τα Uppercase, Lowercase, Capitalize, Uncapitalize είναι ενσωματωμένοι εγγενείς βοηθοί.
Τα template literal types κάνουν τα string-based API ασφαλή ως προς τον τύπο: παράμετροι δρομολογίου, συστήματα συμβάντων, CSS-in-JS, ονόματα στηλών ORM.
Αντί να δέχεστε οποιοδήποτε string, μπορείτε να περιορίσετε σε ένα ακριβές, δημιουργημένο σύνολο έγκυρων συμβολοσειρών — σύλληψη τυπογραφικών σφαλμάτων κατά το χρόνο μεταγλώττισης σε μέρη που ήταν παλαιότερα stringly-typed.
Μια βιβλιοθήκη ερωτήσεων συνέντευξης IT με αναλυτικές απαντήσεις — από Junior έως Senior.
Δωρεά