Kasutage TypeScripti utiliiditüüpe ja saate kasu väljendusrikkamast koodist, mis on ka tugevam.

TypeScript on JavaScripti superkomplekt, mis võimaldab teil koodibaasi lisada staatilise tippimise. Oma võimsa tüübisüsteemiga pakub TypeScript paremat koodi loetavust ja võimalust kompileerimise ajal vigu tabada.

TypeScripti üks kasulikumaid aspekte on selle sisseehitatud utiliiditüübid, mis võivad teie kodeerimistööd lihtsustada ja säästa väärtuslikku arendusaega. Heitke pilk neile kohustuslikele TypeScripti utiliiditüüpidele, mis aitavad teil hõlpsalt tüübikindlat koodi kirjutada.

TypeScripti Osalise utiliidi tüüp võimaldab teil muuta objekti kõik omadused valikuliseks. See võimaldab teil luua teatud atribuutidega objekte, mis võivad puududa või määratlemata. Võtke näiteks:

liides kasutaja { 
nimi: string;
vanus: number;
email: string;
}

Kasutades Osalise kasuliku tüüp, saate luua uue tüübi, mille kõik kasutajaliidese atribuudid on valikulised:

tüüp Valikuline kasutaja = osaline

Nüüd saate luua tüübi OptionalUser eksemplari, milles on määratletud ainult mõned atribuudid:

konst user: OptionalUser = { nimi: "John" };

Teil võib tekkida olukordi, kus peate looma teatud valikuliste omadustega objekti. See võib kasuks tulla eriti vormide ehitamisel millel on mitu välja, kuna neid kõiki ei pruugita vaja minna ja sellistel juhtudel võib osaline kasulikkus olla ülioluline.

TypeScripti utiliidi tüüp Pick aitab teil luua uut tüüpi, valides olemasolevast tüübist ainult atribuutide alamhulga. See on kasulik, kui teil on vaja suuremat objekti kitsendada vaid mõnele nõutavale atribuudile või kui soovite vajalike atribuutide puhul rangelt sisestada.

liides kasutaja { 
asukoht: string;
vanus: number;
email: string;
}

tüüp IsikWithoutEmail = Vali'asukoht' | 'vanus'>;

konst isik: IsikWithoutEmail = {
asukoht: "USA",
vanus: 30
};

Selles näites määratleb liides nimega "Kasutaja" kolm atribuuti: e-posti aadress, vanus ja asukoht.

Kasutades Valige utiliidi tüüp, saate atribuudid "asukoht" ja "vanus" valikuliselt eraldada kasutajaliidest, mille tulemusel luuakse uus tüüp nimega "PersonWithoutEmail".

Seejärel saate luua uue tüübi "PersonWithoutEmail" eksemplari ja määrata väärtused ainult atribuutidele "asukoht" ja "vanus". Kuna atribuut "e-post" on sellest tüübist välja jäetud, ei saa te seda objektile määrata.

Utiliiditüübi valimisega saate luua uue tüübi, mis sisaldab just soovitud atribuute. See võib aidata muuta teie koodi loetavamaks ja sellega hõlpsamini kasutatavaks.

Kirjutuskaitstud tüüp tähendab, et objekti atribuudid on pärast selle loomist muutumatud. See tüüp tagab objekti andmete järjepidevuse pikemas perspektiivis, mille tulemuseks on sujuvam ja turvalisem koodikäsitlus.

liides kasutaja {
kirjutuskaitstud nimi: string;
kirjutuskaitstud vanus: number;
kirjutuskaitstud meil: string;
}

Kasutades Kirjutuskaitstud utiliidi tüüp, saate luua uue tüübi, mille kõik kasutajaliidese atribuudid on määratud kirjutuskaitstuks:

tüüp ReadonlyUser = kirjutuskaitstud

ReadonlyUseri eksemplari loomisel saate määrata atribuutide väärtused::

konst kasutaja: ReadonlyUser = { 
nimi: "John",
vanus: 30,
email: "[email protected]"
};

Kui märgite objekti atribuudid kirjutuskaitstuks, muutub nende atribuutide väärtuste muutmise katse võimatuks:

kasutaja.nimi = "Jane";
// Viga: nimetust ei saa määrata, kuna see on kirjutuskaitstud atribuut.

Kirjutuskaitstud tüüp on eriti oluline olukordades, kus soovite veenduda, et konkreetne objekt ei muutu, hoolimata sellest, kuidas sellele viidatakse. Näiteks kui teil on objekt, mis sisaldab olulisi konfiguratsioonisätteid, peaksite tagama, et see jääb muutmata.

See tüüp tagab, et kõik objekti olulised omadused on olemas, samas kui osaline tüüp pakub suuremat paindlikkust, võimaldades teil määrata atribuutide alamhulga, jättes teised välja valikuline. See võib osutuda kasulikuks olukordades, kus mõned omadused ei pruugi olla vajalikud või võivad muutuda.

liides kasutaja {
nimi: string;
asukoht: number;
aadress: string;
}

Kasutades Nõutav utiliidi tüüp, on võimalik luua uus tüüp, mis ühendab kõik kasutajaliidese atribuudid, nõudes, et kõik need omadused peavad olema olemas. RequiredUseri eksemplari loomine on võimalik alles siis, kui kõik selle atribuudid on õigesti seadistatud.

konst kasutaja: RequiredUser = { 
nimi: "John Doe",
asukoht: "USA",
aadress: "Kansas 9745-0622"
};

Nõutava utiliidi tüübi kasutamine tagab, et kõik vajalikud omadused on objektis olemas.

Utiliidi tüüp väljajätmine võimaldab teil luua uue tüübi, välistades teatud atribuudid olemasolevast tüübist.

liides Isik {
asukoht: string;
vanus: number;
email: string;
}

tüüp PersonWithoutEmail = Jäta välja'e-post'>;
konst isik: IsikWithoutEmail = { asukoht: "USA"; vanus: 30 };

Isiku liidesel on kolm atribuuti: vanus, asukoht ja e-post. Tüüp PersonWithoutEmail kasutab utiliiditüüpi Väljajätmine, et kaasata kõik isiku objekti atribuudid, välja arvatud meil. Seejärel saate luua seda uut tüüpi eksemplari, määramata meiliatribuudi väärtust.

Pidage meeles, et utiliidi väljajätmine jagab olulisi sarnasusi utiliidi tüübiga Pick, kuna see annab teile võimaluse luua uus tüüp, kasutades ainult teie määratud atribuute.

Saate kasutada utiliidi tüübi kirjet, et määrata objektitüüp, mille võtmetel ja väärtustel on teatud tüüp. Selle määratlus on järgmine:

tüüp Salvestusulatub võti ükskõik milline, T> = { [P sisse K]: T;};

See seostab tüübi T iga võtme väärtusega, samas kui K on mis tahes tüüpi klahvide liit. Saadud objekti atribuuditüübiks P on seatud T.

Mõelge stringiklahvide ja arvväärtustega objektitüübi stsenaariumile. Sel juhul saate rakendada Salvestage utiliidi tüüp nagu:

tüüp MyRecord = Record<string, number>;

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

See näide määrab MyRecord kui stringivõtmete ja arvväärtustega objektitüübi. Objekt myObject kehastab seda tüüpi näidet, mille vastavatele väärtustele on määratud klahvid "foo", "bar" ja "baz".

See artikkel paljastas TypeScripti utiliiditüüpide tohutu võimsuse – need võivad olla väärtuslikuks väärtuseks koodi sujuvamaks muutmisel ning arenduse kiiremaks ja tõhusamaks muutmisel. Need utiliiditüübid ja TypeScript üldiselt võivad teha imesid, tagades, et teie kood on alati veatu ja järgib konkreetseid struktuure.