Dra nytta av TypeScripts verktygstyper och du kan dra nytta av mer uttrycksfull kod som också är mer robust.

TypeScript är en superuppsättning av JavaScript som låter dig lägga till statisk skrivning till din kodbas. Med sitt kraftfulla typsystem erbjuder TypeScript förbättrad kodläsbarhet och förmågan att fånga upp fel under kompileringstiden.

En av de mest fördelaktiga aspekterna av TypeScript är dess inbyggda verktygstyper, som kan förenkla dina kodningsinsatser och spara dyrbar utvecklingstid. Ta en titt på dessa måste-känna TypeScript-verktygstyper som kan hjälpa dig att skriva typsäker kod med lätthet.

TypeScript Med partiell verktygstyp kan du göra alla egenskaper för ett objekt valfria. Det låter dig skapa objekt med vissa egenskaper som kan saknas eller vara odefinierade. Ta till exempel:

gränssnitt Användare { 
namn: sträng;
ålder: siffra;
e-post: sträng;
}

Använda Partiell nyttotyp, kan du skapa en ny typ med alla egenskaper för användargränssnittet inställda som valfria:

typ OptionalUser = Partiell
instagram viewer

Nu kan du skapa en instans av typen OptionalUser med endast vissa egenskaper definierade:

konst användare: OptionalUser = { namn: "John" };

Du kan stöta på situationer där du behöver skapa ett objekt med vissa valfria egenskaper. Detta kan komma väl till pass speciellt när byggnadsformer som har flera fält, eftersom inte alla kan krävas och i sådana fall kan partiell användbarhet vara avgörande.

TypeScripts verktygstyp Pick kan hjälpa dig att generera en ny typ genom att bara välja en delmängd av egenskaper från en befintlig typ. Det är praktiskt när du behöver begränsa ett större objekt till endast ett fåtal egenskaper som krävs eller om du vill tvinga fram strikt skrivning på de egenskaper du behöver.

gränssnitt Användare { 
plats: sträng;
ålder: siffra;
e-post: sträng;
}

typ PersonWithoutEmail = Välj'plats' | 'ålder'>;

konst person: PersonWithoutEmail = {
plats: 'USA',
ålder: 30
};

I det här exemplet definierar ett gränssnitt med namnet "Användare" tre egenskaper: e-post, ålder och plats.

Genom att använda Välj verktygstyp, kan du extrahera egenskaperna "plats" och "ålder" selektivt från användargränssnittet, vilket resulterar i skapandet av en ny typ som heter "PersonWithoutEmail."

Du kan sedan skapa en ny instans av typen "PersonWithoutEmail" och tilldela värden till bara egenskaperna "plats" och "ålder". Eftersom egenskapen "email" har utelämnats från denna typ, kan du inte tilldela den till objektet.

Med verktygstypen Pick kan du skapa en ny typ som bara innehåller de egenskaper du vill ha. Detta kan hjälpa till att göra din kod mer läsbar och lättare att arbeta med.

Den skrivskyddade typen betyder att ett objekts attribut är oföränderliga efter att det skapats. Denna typ garanterar konsistensen av objektets data på lång sikt, vilket resulterar i smidigare och säkrare kodhantering.

gränssnitt Användare {
skrivskyddat namn: sträng;
skrivskyddad ålder: siffra;
skrivskyddat e-postmeddelande: sträng;
}

Använda Skrivskyddad verktygstyp, kan du skapa en ny typ med alla användargränssnittsegenskaper betecknade som skrivskyddade:

typ ReadonlyUser = Readonly

Du kan ange egenskapsvärden när du skapar en ReadonlyUser-instans::

konst användare: ReadonlyUser = { 
namn: "John",
ålder: 30,
e-post: "[email protected]"
};

När du markerar egenskaperna för ett objekt som skrivskyddade blir det omöjligt att försöka ändra värdena för dessa egenskaper:

användarnamn = "Jane";
// Fel: Kan inte tilldela 'namn' eftersom det är en skrivskyddad egenskap.

Skrivskyddstypen är särskilt viktig i situationer där du vill försäkra dig om att ett visst objekt inte ändras, hur det än hänvisas till. Om du till exempel har ett objekt som har viktiga konfigurationsinställningar, vill du se till att det förblir oförändrat.

Denna typ säkerställer att alla ett objekts väsentliga egenskaper finns, medan den partiella typen ger mer flexibilitet genom att du låter dig ange en delmängd av egenskaper medan du lämnar de andra frivillig. Detta kan visa sig vara fördelaktigt i situationer där vissa egenskaper kanske inte är nödvändiga eller kan ändras.

gränssnitt Användare {
namn: sträng;
plats: siffra;
adress: sträng;
}

Genom att använda Nödvändig verktygstyp, är det möjligt att skapa en ny typ som kombinerar alla användargränssnittsattribut samtidigt som det krävs att var och en av dessa egenskaper måste finnas. Skapandet av en RequiredUser-instans är endast möjligt när alla dess egenskaper har ställts in korrekt.

konst användare: RequiredUser = { 
namn: "John Doe",
plats: "USA",
adress: "Kansas 9745-0622"
};

Genom att använda verktygstypen Required säkerställs att alla nödvändiga egenskaper finns i ett objekt.

Verktygstypen Utelämna låter dig skapa en ny typ genom att exkludera särskilda egenskaper från en befintlig typ.

gränssnitt Person {
plats: sträng;
ålder: siffra;
e-post: sträng;
}

typ PersonWithoutEmail = Utelämna'e-post'>;
konst person: PersonWithoutEmail = { plats: "USA"; ålder: 30 };

Persongränssnittet har tre egenskaper: ålder, plats och e-post. Typen PersonWithoutEmail använder en verktygstyp Utelämna för att inkludera alla egenskaper för ett Person-objekt, förutom e-post. Du kan sedan skapa en instans av den här nya typen utan att ange ett värde för en e-postegenskap.

Du bör komma ihåg att verktygstypen Utelämna har betydande likheter med verktygstypen Pick, eftersom den ger dig möjlighet att skapa en ny typ med endast de egenskaper du anger.

Du kan använda verktygstypen Record för att definiera en objekttyp för vilken nycklarna och värdena har en viss typ. Dess definition är:

typ Spela insträcker sig nyckel av några, T> = { [P i K]: T;};

Detta associerar typen T med värdet på varje nyckel, medan K är en förening av nycklar av vilken typ som helst. Det resulterande objektet har sin egenskapstyp P satt till T.

Tänk på scenariot för en objekttyp med strängnycklar och numeriska värden. I så fall kan du tillämpa Spela in verktygstyp som:

typ MyRecord = Record<sträng, siffra>;

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

Det här exemplet specificerar MyRecord som en objekttyp med strängnycklar och numeriska värden. MyObject-objektet förkroppsligar en exemplifiering av denna typ, med tangenterna "foo", "bar" och "baz" tilldelade deras motsvarande värden.

Den här artikeln avslöjade mängden av TypeScript-verktygstyper – de kan vara en värdefull tillgång när det gäller att effektivisera din kod och göra utvecklingen snabbare och effektivare. Dessa verktygstyper och TypeScript i allmänhet kan göra underverk för att säkerställa att din kod alltid är felfri och följer specifika strukturer.