TypeScript Academy · leksjon

Readonly, Exclude, Extract og NonNullable

Bruk flere verktøytyper for uforanderlighet og filtrering.

Leksjon 4 av 413 trinn

Readonly, Exclude, Extract og NonNullable er en gratis leksjon i TypeScript Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i TypeScript Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i TypeScript Academy inneholder totalt 4 leksjoner.

Velkommen

TypeScripts standardbibliotek inneholder flere utility-typer i tillegg til Partial, Required, Pick og Omit. Denne leksjonen dekker Readonly, Exclude, Extract og NonNullable.

Readonly<T>

Gjør alle egenskapene i T skrivebeskyttede. Forhindrer at egenskaper tilordnes på nytt etter opprettelsen.
interface Config { host: string; port: number; }
const cfg: Readonly<Config> = { host: 'localhost', port: 3000 };
// cfg.host = 'remote'; // Error!

Exclude<T, U>

Fjerner alle medlemmene fra unionen T som kan tilordnes til U.
type Status = 'pending' | 'active' | 'banned' | 'deleted';
type ActiveStatus = Exclude<Status, 'banned' | 'deleted'>;
// 'pending' | 'active'

Extract<T, U>

Beholder bare de medlemmene i unionen T som kan tilordnes til U. Det motsatte av Exclude.
type StringOrNumber = string | number | boolean;
type JustStrNum = Extract<StringOrNumber, string | number>;
// string | number

NonNullable<T>

Fjerner null og undefined fra T.
type MaybeString = string | null | undefined;
type DefinitelyString = NonNullable<MaybeString>; // string

ReturnType<T>

Henter returtypen til en funksjonstype T.
function fetchUser() { return { id: 1, name: 'Alice' }; }
type User = ReturnType<typeof fetchUser>; // { id: number; name: string }

Parameters<T>

Henter parametertypene til en funksjon som en tuppel.
function add(a: number, b: number): number { return a + b; }
type AddParams = Parameters<typeof add>; // [number, number]

InstanceType<T>

Henter instanstypen som produseres av en konstruktørfunksjonstype.
class HttpClient { get(url: string) { return fetch(url); } }
type Client = InstanceType<typeof HttpClient>; // HttpClient

Awaited<T>

Pakker ut nestede Promise-typer.
type A = Awaited<Promise<string>>;          // string
type B = Awaited<Promise<Promise<number>>>;  // number

Bruke flere utility-typer sammen

Kjed sammen utility-typer for komplekse transformasjoner.
type SafeInput<T> = Readonly<Partial<NonNullable<T>>>;

Utility-typer er bare typealiaser

Alle innebygde utility-typer implementeres ved hjelp av mapped types, betingede typer og infer. Du kan opprette dine egne.

Kunnskapssjekk

Hva produserer `Exclude<'a' | 'b' | 'c', 'b'>`?

Oppsummering

Readonly forhindrer mutasjoner. Exclude fjerner medlemmer fra unioner. Extract beholder samsvarende medlemmer. NonNullable fjerner nullable-typer. ReturnType, Parameters og InstanceType henter typeinformasjon om funksjoner og klasser.
Gratis å komme i gang

Lær deg TypeScript med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
101
Leksjoner
352

Ofte stilte spørsmål

Er leksjonen «Readonly, Exclude, Extract og NonNullable» gratis?

Ja – hele teksten i «Readonly, Exclude, Extract og NonNullable» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av TypeScript Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i TypeScript Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Readonly, Exclude, Extract og NonNullable»?

Bruk flere verktøytyper for uforanderlighet og filtrering. Du øver på TypeScript Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med TypeScript Academy?

Ingen tidligere erfaring er nødvendig. TypeScript Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Readonly, Exclude, Extract og NonNullable»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne TypeScript Academy-leksjonen?

Ja. Alle TypeScript Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Partial og Required: slå valgfrihet av og på
  2. Pick og Omit: velge egenskaper
  3. Record: koble nøkler til verdityper
  4. Readonly, Exclude, Extract og NonNullable
← Tilbake til TypeScript Academy