Union- ja leikkaustyypit
Yhdistä useita tyyppejä ja työskentele niiden kanssa
Union- ja leikkaustyypit on ilmainen TypeScript Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu TypeScript Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. TypeScript Academy-kurssilla on yhteensä 4 oppituntia.
Union- ja intersektiotyypit
Tervetuloa seuraavalle oppitunnille! Tällä oppitunnilla opitte käyttämään union-tyyppejä, joiden avulla muuttujalle voidaan sallia useita mahdollisia tyyppejä, sekä intersektiotyyppejä, joiden avulla useita tyyppejä voidaan yhdistää yhdeksi. Nämä ovat tehokkaita välineitä joustavan ja vankan koodin luomiseen. Aloitetaan!

Mitä union-tyypit ovat?
Union-tyyppien avulla muuttujalla voi olla useampi kuin yksi tyyppi. Union-tyypin määrittämiseen voi käyttää symbolia |.
Esimerkki: Muuttuja, joka voi olla joko merkkijono tai luku:
Tehtävä: Määritelkää union-tyyppinen muuttuja ja sijoittakaa siihen eri arvoja.
let value: string | number;
value = "Hello";
console.log(value); // Output: "Hello"
value = 42;
console.log(value); // Output: 42
Union-tyyppien käyttäminen funktioissa
Union-tyyppejä voi käyttää funktioiden parametreissa, jotta ne voivat vastaanottaa usean tyyppisiä syötteitä. Esimerkki:
Tehtävä: Kirjoittakaa funktio, joka hyväksyy union-tyyppisen parametrin ja tulostaa sen konsoliin.
function printValue(value: string | number): void {
console.log(`The value is ${value}`);
}
printValue("Hello"); // Output: The value is Hello
printValue(100); // Output: The value is 100
Mitä intersektiotyypit ovat?
Intersektiotyyppien avulla useita tyyppejä yhdistetään yhdeksi. Intersektiotyypin määrittämiseen voi käyttää symbolia &.
Esimerkki: Kahden oliotyypin yhdistäminen:
Tehtävä: Luokaa intersektiotyyppi, joka yhdistää kaksi oliota, ja käyttäkää sitä.
type Person = { name: string };
type Employee = { employeeId: number };
type Staff = Person & Employee;
let staffMember: Staff = {
name: "Alice",
employeeId: 123,
};
console.log(staffMember);
Tyyppivartijoiden käyttäminen union-tyyppien kanssa
TypeScript ei tiedä, mitä tyyppiä union-tyypissä käytätte. Tyypin rajaamiseen voitte käyttää tyyppivartijoita. Esimerkki:
Tehtävä: Käyttäkää tyyppivartijoita union-tyypin eri tyyppien käsittelemiseen.
function display(value: string | number): void {
if (typeof value === "string") {
console.log(`String value: ${value.toUpperCase()}`);
} else {
console.log(`Number value: ${value * 2}`);
}
}
display("Hello"); // Output: String value: HELLO
display(5); // Output: Number value: 10
Intersektiotyypit käytännössä
Intersektiotyypit ovat hyödyllisiä, kun käsitellään ominaisuuksia jakavia olioita. Esimerkki:
Tehtävä: Luokaa intersektiotyyppi järjestelmänvalvojan ja käyttäjän rooleille.
type Admin = { adminLevel: string };
type User = { username: string };
type AdminUser = Admin & User;
let admin: AdminUser = {
adminLevel: "super",
username: "admin123",
};
console.log(`Admin ${admin.username} has level ${admin.adminLevel}`);
Union- ja intersektiotyyppien yleiset virheet
Tässä on joitakin yleisiä virheitä:
- Union-tyypin käyttäminen käsittelemättä kaikkia mahdollisia tapauksia (esimerkiksi tyyppivartijan unohtaminen).
- Tyyppien tekeminen tarpeettoman monimutkaisiksi tarpeettomilla intersektioilla.
- Yhteensopimattomien arvojen sijoittaminen union- tai intersektiotyyppiin.
Vinkki: Testatkaa koodinne aina varmistaaksenne, että tyypit toimivat odotetulla tavalla!
Milloin union- ja intersektiotyyppejä käytetään
Käyttäkää union-tyyppejä, kun:
- Muuttujalla voi olla yksi useista mahdollisista tyypeistä.
- Tarvitsette joustavuutta funktioiden parametreihin.
Käyttäkää intersektiotyyppejä, kun:
- Yhdistätte useita olioita tai tyyppejä yhdeksi.
- Luotte monimutkaisempia tyyppejä tiettyjä käyttötapauksia varten.
type A = { x: number };
type B = { y: number };
type AB = A & B;
let obj: AB = { x: 5, y: 10 };
Hienosti tehty!
Onnittelut! Olette oppineet käyttämään union- ja intersektiotyyppejä monimutkaisten tilanteiden käsittelemiseen TypeScriptissä. Näiden työkalujen avulla koodistanne tulee joustavampaa ja ilmaisuvoimaisempaa. Seuraavassa oppitunnissa tutustumme enum-tyyppeihin ja siihen, miten ne auttavat vakioarvojen hallinnassa. Jatketaan koodaamista!

Opi TypeScript tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 101
- Oppitunnit
- 352
Usein kysytyt kysymykset
Onko oppitunti ”Union- ja leikkaustyypit” ilmainen?
Kyllä – oppitunnin ”Union- ja leikkaustyypit” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko TypeScript Academy-kurssin, päivitä CoddyKit PROhon. TypeScript Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Union- ja leikkaustyypit”?
Yhdistä useita tyyppejä ja työskentele niiden kanssa Harjoittelet TypeScript Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni TypeScript Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin TypeScript Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Union- ja leikkaustyypit”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä TypeScript Academy-oppitunnilla?
Kyllä. Jokainen TypeScript Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Taulukot ja monikot
- Union- ja leikkaustyypit
- Enumeraatiot
- Literaalityypit