Lekce 6 - Typová kompatibilita, složené typy a iterátory v TypeScriptu
V předešlém cvičení, Řešené úlohy k 5. lekci v TypeScriptu, jsme si procvičili nabyté zkušenosti z předchozích lekcí.
V dnešním TypeScript tutoriálu se podíváme na to, jak v TS funguje
typování a jak můžeme datové typy skládat. Dále si povíme něco o
implicitním typování a iterátorech
Typová kompatibilita
Je třeba si uvědomit, že typování se v TS chová jinak, než je nám možná známo z jazyků jako C# a podobných. TypeScript používá tzv. strukturní typový systém, který typy ověřuje podle struktury porovnávaných konstrukcí namísto např. jejich názvu. Výsledný typ konstrukce (např. třídy nebo rozhraní) se určí na základě typů členů v konstrukci a jejich počtu (myšleno metod, vlastností apod...). Pokud je typ s nějakým typem kompatibilní, znamená to, že do něj může být přiřazen, tedy jeho položky musí alespoň pokrývat všechny položky typu, do kterého přiřazujeme. Ukážeme si příklady.
Kompatibilita rozhraní
Začněme rozhraními. Deklarujme si rozhraní pro položku košíku internetového obchodu a následně pro zboží:
interface PolozkaKosiku { cena: number, pocet: number, nazev: string } interface Zbozi { cena: number, skladem: boolean, pocet: number, nazev: string, popis: string }
Ačkoli se jedná o 2 různá rozhraní, typy
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
Probereme, jak funguje typová kompatibilita v TypeScriptu. Předvedeme si složené typy a povíme si něco k implicitnímu typování a iterátorům.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.