Pasinaudokite „TypeScript“ paslaugų tipais ir galėsite pasinaudoti išraiškingesniu kodu, kuris taip pat yra tvirtesnis.
„TypeScript“ yra „JavaScript“ superrinkinys, leidžiantis prie kodo bazės pridėti statinį spausdinimą. Su savo galinga tipo sistema „TypeScript“ siūlo patobulintą kodo skaitomumą ir galimybę sugauti klaidas kompiliavimo metu.
Vienas iš naudingiausių „TypeScript“ aspektų yra įtaisytųjų paslaugų tipai, kurie gali supaprastinti kodavimo pastangas ir sutaupyti brangaus kūrimo laiko. Pažvelkite į šiuos privalomus žinoti „TypeScript“ paslaugų tipus, kurie gali padėti lengvai rašyti kodą, saugaus tipo.
TypeScript Dalinis naudingumo tipas leidžia pasirinkti bet kokias objekto savybes. Tai leidžia kurti objektus su tam tikromis savybėmis, kurių gali trūkti arba kurios neapibrėžtos. Paimkite, pavyzdžiui:
sąsaja Vartotojas {
vardas: styga;
amžius: numerį;
paštas: styga;
}
Naudojant Dalinio naudingumo tipas, galite sukurti naują tipą su visomis vartotojo sąsajos ypatybėmis, kurios yra neprivalomos:
tipo Neprivalomas naudotojas = dalinis
Dabar galite sukurti OptionalUser tipo egzempliorių su apibrėžtomis tik kai kuriomis savybėmis:
konst user: OptionalUser = { vardas: "Jonas" };
Galite susidurti su situacijomis, kai reikia sukurti objektą su tam tikromis pasirenkamomis savybėmis. Tai gali praversti ypač statant formas kurie turi kelis laukus, nes ne visi jie gali būti reikalingi ir tokiais atvejais dalinis naudingumas gali būti gyvybiškai svarbus.
„TypeScript“ paslaugų programos tipas „Pirk“ gali padėti sukurti naują tipą, pasirenkant tik ypatybių poaibį iš esamo tipo. Tai naudinga, kai reikia susiaurinti didesnį objektą iki kelių būtinų ypatybių arba jei norite griežtai įvesti reikiamas savybes.
sąsaja Vartotojas {
vieta: styga;
amžius: numerį;
paštas: styga;
}tipo AsmuoWithoutEmail = Pasirinkite
'vieta' | "amžius">;
konst asmuo: asmuo be el. pašto = {
vieta: "JAV",
amžius: 30
};
Šiame pavyzdyje sąsaja, pavadinta „Vartotojas“, apibrėžia tris ypatybes: el. paštą, amžių ir vietą.
Naudodami Pasirinkite komunalinių paslaugų tipą, galite pasirinktinai iš vartotojo sąsajos išskirti „vietos“ ir „amžiaus“ ypatybes, todėl bus sukurtas naujas tipas, pavadintas „PersonWithoutEmail“.
Tada galite sukurti naują „PersonWithoutEmail“ tipo egzempliorių ir priskirti reikšmes tik ypatybėms „vieta“ ir „amžius“. Kadangi šio tipo ypatybė "el. paštas" buvo praleista, negalite jos priskirti objektui.
Naudodami „Pick“ paslaugų tipą galite sukurti naują tipą, į kurį įtrauktos tik norimos savybės. Tai gali padėti padaryti jūsų kodą skaitomesnį ir lengviau su juo dirbti.
Tik skaitomas tipas reiškia, kad objekto atributai yra nekintantys po jo sukūrimo. Šis tipas garantuoja objekto duomenų nuoseklumą ilgalaikėje perspektyvoje, todėl kodo valdymas yra sklandesnis ir saugesnis.
sąsaja Vartotojas {
tik skaitomas vardas: styga;
tik skaitymo amžius: numerį;
tik skaitomas el. paštas: styga;
}
Naudojant Tik skaitomas paslaugų tipas, galite sukurti naują tipą su visomis vartotojo sąsajos ypatybėmis, nurodytomis kaip tik skaitomos:
tipo ReadonlyUser = Tik skaityti
Kurdami ReadonlyUser egzempliorių galite nurodyti ypatybių reikšmes::
konst vartotojas: ReadonlyUser = {
vardas: "Jonas",
amžius: 30,
paštas: "[email protected]"
};
Kai pažymite objekto ypatybes kaip tik skaitomas, bandymas pakeisti tų savybių reikšmes tampa neįmanomas:
user.name = "Džeina";
// Klaida: negalima priskirti pavadinimui, nes tai yra tik skaitoma nuosavybė.
Tik skaitymo tipas yra ypač svarbus tais atvejais, kai norite įsitikinti, kad konkretus objektas nesikeičia, nepaisant to, kad jis yra nurodytas. Pavyzdžiui, jei turite objektą, kuriame yra svarbūs konfigūracijos parametrai, turėtumėte užtikrinti, kad jis liktų nepakitęs.
Šis tipas užtikrina, kad yra visos esminės objekto savybės, o dalinis tipas suteikia daugiau lankstumo, nes leidžia nurodyti savybių poaibį, o kitus paliekant neprivaloma. Tai gali būti naudinga tais atvejais, kai kai kurios savybės gali būti nereikalingos arba gali būti keičiamos.
sąsaja Vartotojas {
vardas: styga;
vieta: numerį;
adresas: styga;
}
Naudojant Reikalingas komunalinių paslaugų tipas, galima sukurti naują tipą, kuris apjungia visus vartotojo sąsajos atributus, kartu reikalaujant, kad kiekviena iš šių savybių turi būti. „RequiredUser“ egzempliorių sukurti galima tik tada, kai visos jo savybės yra tinkamai nustatytos.
konst vartotojas: RequiredUser = {
vardas: "Jonas Doe",
vieta: "JAV",
adresas: "Kansas 9745-0622"
};
Naudojant reikalingos priemonės tipą užtikrinama, kad objekte yra visos reikalingos savybės.
Įrankio tipas „Omit“ leidžia sukurti naują tipą, išskiriant tam tikras ypatybes iš esamo tipo.
sąsaja Asmuo {
vieta: styga;
amžius: numerį;
paštas: styga;
}
tipo PersonWithoutEmail = praleisti
'el. paštas'>;
konst asmuo: Asmuo be el. pašto = { vieta: "JAV"; amžius: 30 };
Asmens sąsaja turi tris ypatybes: amžių, vietą ir el. Tipas „PersonWithoutEmail“ naudoja „Omit“ paslaugų tipą, kad įtrauktų visas asmens objekto ypatybes, išskyrus el. Tada galite sukurti šio naujo tipo egzempliorių nenurodydami el. pašto nuosavybės vertės.
Turėtumėte nepamiršti, kad „Omit“ paslaugų tipas turi didelių panašumų su „Pick“ paslaugų tipu, nes jis suteikia galimybę sukurti naują tipą naudojant tik jūsų nurodytas ypatybes.
Galite naudoti įrankio tipą Įrašyti norėdami apibrėžti objekto tipą, kurio raktai ir reikšmės turi tam tikrą tipą. Jo apibrėžimas yra toks:
tipo Įrašastęsiasi raktas bet koks, T> = { [P in K]: T;};
Tai susieja T tipą su kiekvieno rakto reikšme, o K yra bet kokio tipo raktų sąjunga. Gauto objekto nuosavybės tipas P nustatytas į T.
Apsvarstykite objekto tipo su eilutės raktais ir skaitinėmis reikšmėmis scenarijų. Tokiu atveju galite taikyti Įrašyti naudingumo tipą kaip:
tipo MyRecord = Įrašas<styga, numerį>;
konst myObject: MyRecord = {
"foo": 1,
"baras": 2,
"baz": 3,
}
Šiame pavyzdyje MyRecord nurodomas kaip objekto tipas su eilutės raktais ir skaitinėmis reikšmėmis. „myObject“ objektas įkūnija šio tipo pavyzdį, kurio atitinkamoms reikšmėms priskirti klavišai „foo“, „bar“ ir „baz“.
Šis straipsnis atskleidė didžiulę „TypeScript“ paslaugų tipų galią – jie gali būti vertingas turtas, kai reikia supaprastinti kodą ir padaryti kūrimą greitesnį bei efektyvesnį. Šie paslaugų tipai ir „TypeScript“ apskritai gali padaryti stebuklus užtikrindami, kad jūsų kodas visada būtų be klaidų ir atitiktų konkrečias struktūras.