Middle
Αναφέρετε τους τύπους utility στο TypeScript.
sobes.tech AI
Απάντηση από AI
Τύποι Utility στο TypeScript – είναι ενσωματωμένοι βοηθητικοί τύποι που απλοποιούν γενικές λειτουργίες πάνω σε τύπους, όπως μετατροπές, εξαγωγές ή εξαίρεση συγκεκριμένων ιδιοτήτων. Αυτοί αυξάνουν την ευελιξία και την αναγνωσιμότητα του κώδικα.
Βασικοί χρήσιμοι τύποι:
Partial<Type>: Δημιουργεί έναν τύπο όπου όλες οι ιδιότητες τουTypeείναι προαιρετικές.// Δημιουργεί τύπο με προαιρετικές ιδιότητες 'name' και 'age' type PartialUser = Partial<{ name: string; age: number }>;Readonly<Type>: Δημιουργεί έναν τύπο όπου όλες οι ιδιότητες τουTypeείναι μόνο για ανάγνωση.// Δημιουργεί τύπο με ιδιότητες 'name' και 'age', διαθέσιμες μόνο για ανάγνωση type ReadonlyUser = Readonly<{ name: string; age: number }>;Pick<Type, Keys>: Δημιουργεί τύπο επιλέγοντας ένα σύνολο ιδιοτήτωνKeysαπό τονType. ΤοKeysμπορεί να είναι λεκτικός χαρακτήρας ή ένωση λεκτικών χαρακτήρων.// Δημιουργεί τύπο που περιέχει μόνο την ιδιότητα 'name' type UserWithName = Pick<{ name: string; age: number }, 'name'>;Omit<Type, Keys>: Δημιουργεί τύπο εξαιρώντας ένα σύνολο ιδιοτήτωνKeysαπό τονType.// Δημιουργεί τύπο που περιέχει μόνο την ιδιότητα 'age' type UserWithoutName = Omit<{ name: string; age: number }, 'name'>;Exclude<UnionType, ExcludedMembers>: Δημιουργεί τύπο εξαιρώντας από τοUnionTypeόλα τα μέλη που μπορούν να ανατεθούν στοExcludedMembers.// Δημιουργεί τύπο που εξαιρεί το 'null' από την ένωση type NonNullableString = Exclude<string | null | undefined, null | undefined>;Extract<Type, Union>: Εξάγει από τονTypeόλα τα μέλη που μπορούν να ανατεθούν στοUnion.// Εξάγει το 'null' και το 'undefined' από την ένωση type JustNullOrUndefined = Extract<string | null | undefined, null | undefined>;NonNull<Type>: Εξαιρεί τοnullκαι τοundefinedαπό τονType.// Δημιουργεί τύπο που εξαιρεί το 'null' και το 'undefined' type NonNullStringOrNumber = NonNullable<string | number | null | undefined>;Parameters<Type>: Λαμβάνει τους τύπους των παραμέτρων μιας συνάρτησηςTypeως πλειάδα.// Λαμβάνει τους τύπους των παραμέτρων μιας συνάρτησης: [string, number] type FuncParams = Parameters<(a: string, b: number) => void>;ReturnType<Type>: Λαμβάνει τον τύπο της επιστρεφόμενης τιμής μιας συνάρτησηςType.// Λαμβάνει τον τύπο της επιστρεφόμενης τιμής μιας συνάρτησης: number type FuncReturn = ReturnType<() => number>;ConstructorParameters<Type>: Εξάγει τους τύπους των παραμέτρων του κατασκευαστή του τύπου κατασκευαστή.// Λαμβάνει τους τύπους των παραμέτρων του κατασκευαστή της κλάσης: [string, number] type MyClassParams = ConstructorParameters<typeof MyClass>; class MyClass { constructor(name: string, age: number) {} }InstanceType<Type>: Εξάγει τον τύπο του αντικειμένου που δημιουργείται από τον κατασκευαστή τύπου.// Εξάγει τον τύπο του αντικειμένου της κλάσης: MyClass type MyClassInstance = InstanceType<typeof MyClass>; class MyClass { constructor(name: string, age: number) {} }
Η χρήση των utility τύπων συμβάλλει στη δημιουργία πιο ασφαλούς, ευέλικτου και εύκολα συντηρήσιμου κώδικα.