Izmantojiet TypeScript utilītu veidu priekšrocības un varat gūt labumu no izteiksmīgāka koda, kas ir arī izturīgāks.

TypeScript ir JavaScript superkopa, kas ļauj koda bāzei pievienot statisku rakstīšanu. Ar savu jaudīgo tipa sistēmu TypeScript piedāvā uzlabotu koda lasāmību un iespēju kompilēšanas laikā uztvert kļūdas.

Viens no izdevīgākajiem TypeScript aspektiem ir tā iebūvētie utilītu veidi, kas var vienkāršot kodēšanas centienus un ietaupīt dārgo izstrādes laiku. Apskatiet šos obligātos TypeScript utilītu veidus, kas var palīdzēt viegli rakstīt tipam drošu kodu.

TypeScript Daļēja utilīta tips ļauj jebkuras objekta rekvizītus padarīt neobligātus. Tas ļauj izveidot objektus ar noteiktiem rekvizītiem, kas var nebūt vai nav definēti. Ņemiet, piemēram:

saskarne Lietotājs { 
nosaukums: virkne;
vecums: numuru;
e-pasts: virkne;
}

Izmantojot Daļēja lietderības veids, varat izveidot jaunu veidu, kurā visi lietotāja interfeisa rekvizīti ir iestatīti kā neobligāti:

veids OptionalUser = Daļēja

Tagad varat izveidot OptionalUser tipa gadījumu ar definētiem tikai dažiem rekvizītiem:

konst user: OptionalUser = { name: "Džons" };

Var rasties situācijas, kad jums ir jāizveido objekts ar noteiktiem izvēles rekvizītiem. Tas var noderēt īpaši veidojot formas kuriem ir vairāki lauki, jo ne visi no tiem var būt nepieciešami, un šādos gadījumos daļēja lietderība var būt ļoti svarīga.

TypeScript utilīta veids Pick var palīdzēt ģenerēt jaunu tipu, izvēloties tikai rekvizītu apakškopu no esoša veida. Tas noder, ja nepieciešams sašaurināt lielāku objektu, iekļaujot tikai dažus nepieciešamos rekvizītus vai ja vēlaties ieviest stingru ierakstīšanu vajadzīgajos rekvizītos.

saskarne Lietotājs { 
atrašanās vieta: virkne;
vecums: numuru;
e-pasts: virkne;
}

veids PersonWithoutEmail = Izvēlēties'atrašanās vieta' | 'vecums'>;

konst persona: PersonaBezEmail = {
atrašanās vieta: 'ASV',
vecums: 30
};

Šajā piemērā saskarne ar nosaukumu "Lietotājs" definē trīs rekvizītus: e-pastu, vecumu un atrašanās vietu.

Izmantojot Izvēlieties lietderības veidu, varat selektīvi izvilkt rekvizītus "atrašanās vieta" un "vecums" no lietotāja interfeisa, kā rezultātā tiek izveidots jauns veids ar nosaukumu "PersonWithoutEmail".

Pēc tam varat izveidot jaunu "PersonWithoutEmail" tipa gadījumu un piešķirt vērtības tikai rekvizītiem "atrašanās vieta" un "vecums". Tā kā rekvizīts "e-pasts" šim tipam ir izlaists, jūs to nevarat piešķirt objektam.

Izmantojot utilīta veidu Pick, varat izveidot jaunu veidu, kurā ir iekļauti vēlamie rekvizīti. Tas var palīdzēt padarīt jūsu kodu lasāmāku un vieglāk ar to strādāt.

Tikai lasāms veids nozīmē, ka objekta atribūti pēc tā izveides ir nemainīgi. Šis veids garantē objekta datu konsekvenci ilgtermiņā, kā rezultātā tiek nodrošināta vienmērīgāka un drošāka koda apstrāde.

saskarne Lietotājs {
tikai lasāms nosaukums: virkne;
tikai lasāms vecums: numuru;
tikai lasāms e-pasts: virkne;
}

Izmantojot Tikai lasāms lietderības veids, varat izveidot jaunu tipu ar visiem lietotāja interfeisa rekvizītiem, kas norādīti kā tikai lasāmi:

veids ReadonlyUser = tikai lasāms

Varat norādīt rekvizītu vērtības, veidojot ReadonlyUser gadījumu::

konst lietotājs: ReadonlyUser = { 
nosaukums: "Džons",
vecums: 30,
e-pasts: "[email protected]"
};

Atzīmējot objekta rekvizītus kā tikai lasāmus, mēģinājums mainīt šo īpašību vērtības kļūst neiespējams:

user.name = "Džeina";
// Kļūda: nevar piešķirt nosaukumam, jo ​​tas ir tikai lasāms rekvizīts.

Tikai lasāms veids ir īpaši svarīgs situācijās, kad vēlaties pārliecināties, ka konkrēts objekts nemainās neatkarīgi no tā, vai uz to ir atsauce. Piemēram, ja jums ir objekts, kurā ir svarīgi konfigurācijas iestatījumi, jūs vēlaties nodrošināt, lai tas paliktu nemainīgs.

Šis veids nodrošina, ka ir visas objekta būtiskās īpašības, savukārt daļējais tips piedāvā lielāku elastību, ļaujot norādīt rekvizītu apakškopu, vienlaikus atstājot pārējos neobligāti. Tas var izrādīties izdevīgi situācijās, kad daži īpašumi var nebūt nepieciešami vai var tikt mainīti.

saskarne Lietotājs {
nosaukums: virkne;
atrašanās vieta: numuru;
adrese: virkne;
}

Izmantojot Nepieciešamais lietderības veids, ir iespējams izveidot jaunu tipu, kas apvieno visus lietotāja interfeisa atribūtus, vienlaikus pieprasot, lai katram no šiem rekvizītiem ir jābūt. RequiredUser instances izveide ir iespējama tikai tad, kad ir pareizi iestatīti visi tās rekvizīti.

konst lietotājs: RequiredUser = { 
nosaukums: "Džons Dū",
atrašanās vieta: "ASV",
adrese: "Kansasa 9745-0622"
};

Izmantojot nepieciešamo utilīta veidu, tiek nodrošināts, ka objektā ir visi nepieciešamie rekvizīti.

Lietderības tips Izlaist ļauj izveidot jaunu tipu, izslēdzot konkrētus rekvizītus no esošā veida.

saskarne Persona {
atrašanās vieta: virkne;
vecums: numuru;
e-pasts: virkne;
}

veids PersonWithoutEmail = Izlaist'e-pasts'>;
konst persona: PersonWithoutEmail = { atrašanās vieta: "ASV"; vecums: 30 };

Personas saskarnei ir trīs rekvizīti: vecums, atrašanās vieta un e-pasts. Tipam PersonWithoutEmail tiek izmantots utilīta tips Izlaist, lai iekļautu visus personas objekta rekvizītus, izņemot e-pastu. Pēc tam varat izveidot šī jaunā tipa gadījumu, nenorādot e-pasta rekvizīta vērtību.

Ņemiet vērā, ka utilīta veidam Izlaist ir būtiskas līdzības ar utilītas veidu Pick, jo tas dod iespēju izveidot jaunu veidu, izmantojot tikai jūsu norādītos rekvizītus.

Varat izmantot utilīta veidu Ierakstīt, lai definētu objekta tipu, kura atslēgām un vērtībām ir noteikts tips. Tās definīcija ir šāda:

veids Ierakstspagarina taustiņš jebkura, T> = { [P iekšā K]: T;};

Tas saista T tipu ar katras atslēgas vērtību, savukārt K ir jebkura veida atslēgu savienība. Iegūtā objekta rekvizīta tips P ir iestatīts uz T.

Apsveriet scenāriju objekta tipam ar virknes taustiņiem un skaitliskām vērtībām. Tādā gadījumā varat pieteikties Ierakstīt lietderības veidu kā:

veids MyRecord = Ieraksts<virkne, numuru>;

konst myObject: MyRecord = {
"foo": 1,
"bārs": 2,
"baz": 3,
}

Šajā piemērā MyRecord ir norādīts kā objekta tips ar virknes taustiņiem un skaitliskām vērtībām. MyObject objekts iemieso šāda veida piemēru, un taustiņi "foo", "bar" un "baz" ir piešķirti to attiecīgajām vērtībām.

Šis raksts atklāja TypeScript utilītu veidu milzīgo spēku — tie var būt vērtīgs ieguvums, lai racionalizētu kodu un padarītu izstrādi ātrāku un efektīvāku. Šie utilītu veidi un TypeScript kopumā var radīt brīnumus, nodrošinot, ka kods vienmēr ir bez kļūdām un atbilst noteiktām struktūrām.