Udnyt TypeScripts hjælpetyper, og du kan drage fordel af mere udtryksfuld kode, der også er mere robust.

TypeScript er et supersæt af JavaScript, der lader dig tilføje statisk indtastning til din kodebase. Med sit kraftfulde typesystem tilbyder TypeScript forbedret kodelæsbarhed og mulighed for at fange fejl under kompileringstiden.

Et af de mest fordelagtige aspekter ved TypeScript er dets indbyggede hjælpetyper, som kan forenkle din kodningsindsats og spare kostbar udviklingstid. Tag et kig på disse TypeScript-værktøjstyper, der skal kendes, og som kan hjælpe dig med at skrive typesikker kode med lethed.

TypeScript's Delvis hjælpetype giver dig mulighed for at gøre enhver egenskab for et objekt valgfri. Det lader dig oprette objekter med visse egenskaber, der kan mangle eller være udefinerede. Tag for eksempel:

interface Bruger { 
navn: snor;
alder: nummer;
e-mail: snor;
}

Bruger Delvis brugstype, kan du oprette en ny type med alle egenskaberne for brugergrænsefladen indstillet som valgfri:

instagram viewer
type OptionalUser = Delvis

Nu kan du oprette en instans af typen OptionalUser med kun nogle definerede egenskaber:

konst bruger: OptionalUser = { navn: "John" };

Du kan støde på situationer, hvor du skal oprette et objekt med visse valgfrie egenskaber. Dette kan være nyttigt især når byggeformer der har flere felter, da ikke alle af dem muligvis er påkrævet, og i sådanne tilfælde kan delvis nytte være afgørende.

TypeScripts Pick-værktøjstype kan hjælpe dig med at generere en ny type ved kun at vælge et undersæt af egenskaber fra en eksisterende type. Det er praktisk, når du har brug for at indsnævre et større objekt til kun nogle få egenskaber, der er påkrævet, eller hvis du vil gennemtvinge streng indtastning på de egenskaber, du har brug for.

interface Bruger { 
Beliggenhed: snor;
alder: nummer;
e-mail: snor;
}

type PersonUdenEmail = Vælg'Beliggenhed' | 'alder'>;

konst person: PersonUdenEmail = {
Beliggenhed: 'USA',
alder: 30
};

I dette eksempel definerer en grænseflade med navnet "Bruger" tre egenskaber: e-mail, alder og placering.

Ved at bruge Vælg værktøjstype, kan du udtrække egenskaberne "placering" og "alder" selektivt fra brugergrænsefladen, hvilket resulterer i oprettelsen af ​​en ny type kaldet "PersonUdenEmail."

Du kan derefter oprette en ny instans af typen "PersonWithoutEmail" og tildele værdier til egenskaberne "placering" og "alder". Da egenskaben "email" er blevet udeladt fra denne type, kan du ikke tildele den til objektet.

Med værktøjstypen Pick kan du lave en ny type, der blot inkorporerer de egenskaber, du ønsker. Dette kan hjælpe med at gøre din kode mere læsbar og nemmere at arbejde med.

Den skrivebeskyttede type betyder, at et objekts attributter er uforanderlige efter dets oprettelse. Denne type garanterer ensartetheden af ​​objektets data i det lange løb, hvilket resulterer i en smidigere og mere sikker kodehåndtering.

interface Bruger {
skrivebeskyttet navn: snor;
skrivebeskyttet alder: nummer;
skrivebeskyttet e-mail: snor;
}

Bruger Skrivebeskyttet hjælpetype, kan du oprette en ny type med alle brugergrænsefladeegenskaber angivet som skrivebeskyttet:

type ReadonlyUser = Skrivebeskyttet

Du kan angive egenskabsværdier, når du opretter en ReadonlyUser-instans::

konst bruger: ReadonlyUser = { 
navn: "John",
alder: 30,
e-mail: "[email protected]"
};

Når du markerer egenskaberne for et objekt som skrivebeskyttet, bliver det umuligt at forsøge at ændre værdierne for disse egenskaber:

bruger.navn = "Jane";
// Fejl: Kan ikke tildele til 'navn', fordi det er en skrivebeskyttet egenskab.

Skrivebeskyttet-typen er især vigtig i situationer, hvor du vil sikre dig, at et bestemt objekt ikke ændrer sig, uanset om det refereres til det. For eksempel, hvis du har et objekt, der har vigtige konfigurationsindstillinger, vil du gerne sikre dig, at det forbliver uændret.

Denne type sikrer, at alle et objekts væsentlige egenskaber er til stede, mens den delvise type giver mere fleksibilitet ved at lade dig specificere en delmængde af egenskaber, mens du forlader de andre valgfri. Dette kan vise sig en fordel i situationer, hvor nogle egenskaber måske ikke er nødvendige eller kan ændres.

interface Bruger {
navn: snor;
Beliggenhed: nummer;
adresse: snor;
}

Ved at bruge Påkrævet hjælpetype, er det muligt at oprette en ny type, der kombinerer alle brugergrænsefladeattributter, mens det kræver, at hver af disse egenskaber skal være til stede. Oprettelse af en RequiredUser-instans er kun mulig, når alle dens egenskaber er blevet korrekt indstillet.

konst bruger: RequiredUser = { 
navn: "John Doe",
Beliggenhed: "USA",
adresse: "Kansas 9745-0622"
};

Brug af værktøjstypen Påkrævet sikrer, at alle de nødvendige egenskaber er til stede i et objekt.

Hjælpetypen Udelad lader dig oprette en ny type ved at ekskludere bestemte egenskaber fra en eksisterende type.

interface Person {
Beliggenhed: snor;
alder: nummer;
e-mail: snor;
}

type PersonWithoutEmail = Udelad'e-mail'>;
konst person: PersonWithoutEmail = { location: "USA"; alder: 30 };

Persongrænsefladen har tre egenskaber: alder, placering og e-mail. PersonWithoutEmail-typen bruger en Udelad-værktøjstype til at inkludere alle egenskaberne for et Person-objekt, undtagen e-mail. Du kan derefter oprette en instans af denne nye type uden at angive en værdi for en e-mail-egenskab.

Du skal huske på, at værktøjstypen Udelad har betydelige ligheder med værktøjstypen Vælg, da den giver dig mulighed for at udtænke en ny type ved kun at bruge de egenskaber, du angiver.

Du kan bruge værktøjstypen Record til at definere en objekttype, for hvilken nøglerne og værdierne har en bestemt type. Dens definition er:

type Optagestrækker sig nøgle af nogen, T> = { [P i K]: T;};

Dette forbinder typen T med værdien af ​​hver nøgle, mens K er en forening af nøgler af enhver type. Det resulterende objekt har sin egenskabstype P sat til T.

Overvej scenariet for en objekttype med strengnøgler og numeriske værdier. I så fald kan du anvende Optag værktøjstype som:

type MyRecord = Record<snor, nummer>;

konst myObject: MyRecord = {
"foo": 1,
"bar": 2,
"baz": 3,
}

Dette eksempel angiver MyRecord som en objekttype med strengnøgler og numeriske værdier. MyObject-objektet inkorporerer en eksemplificering af denne type, hvor tasterne "foo", "bar" og "baz" er tildelt deres tilsvarende værdier.

Denne artikel afslørede den store magt af TypeScript-værktøjstyper - de kan være et værdifuldt aktiv, når det kommer til at strømline din kode og gøre udvikling hurtigere og mere effektiv. Disse hjælpetyper og TypeScript generelt kan gøre underværker for at sikre, at din kode altid er fejlfri og overholder specifikke strukturer.