TypeScript Academy · Oppitunti

Union- ja leikkaustyypit

Yhdistä useita tyyppejä ja työskentele niiden kanssa

Oppitunti 2/410 vaihetta

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!

Union- ja leikkaustyypit — kuvitus 1

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!

Union- ja leikkaustyypit — kuvitus 10
Aloita maksutta

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

  1. Taulukot ja monikot
  2. Union- ja leikkaustyypit
  3. Enumeraatiot
  4. Literaalityypit
← Takaisin: TypeScript Academy