Typové anotace
Zatím TypeScript odvozoval každý typ z první hodnoty. Typ ale můžete napsat i sami: za název proměnné dejte dvojtečku a typ:
let jmeno: string = "Kira";
let zlato: number = 120;
let maMapu: boolean = false;Části : string se říká typová anotace. Udává, co smí proměnná obsahovat: jmeno jen texty, zlato jen čísla a maMapu jen true, nebo false. První řádek můžete číst jako „proměnná jmeno typu string s hodnotou "Kira"“. U const se anotace píše stejně: const maxUroven: number = 10;.
S anotací TypeScript kontroluje i první hodnotu, nejen ty pozdější. Když hodnota k typu nesedí, ohlásí chybu přímo na řádku, kde proměnnou vytváříte:
let zlato: number = "120";main.ts(1,5): error TS2322: Type 'string' is not assignable to type 'number'.Sloupec 5 ukazuje na název proměnné. "120" v uvozovkách je text, ale anotace říká, že v proměnné zlato jsou čísla. Bez anotace by TypeScript odvodil typ string a tady by nic neohlásil. Chyba by se projevila až později, na řádku, který se zlatem počítá, nebo by se možná neprojevila vůbec.
Anotace slouží jen ke kontrole. Jak jste viděli v minulé lekci, překladač je odstraní a spustí se JavaScript, ve kterém je jen let zlato = 120;.
Typické chyby:
- Rovnítko místo dvojtečky:
let nazev = string;se snaží uložitstringdo proměnné jako hodnotu, jenže je to typ, ne hodnota:error TS2693: 'string' only refers to a type, but is being used as a value here. - Typ, který neexistuje:
let uroven: int = 3;skončí chybouerror TS2304: Cannot find name 'int'.Některé jazyky mají pro celá čísla zvláštní typ, TypeScript má ale pro všechna čísla jediný typ:number. - Velké písmeno:
String,NumberaBooleans velkým písmenem znamenají v TypeScriptu něco jiného, typy zvláštních objektů, které prakticky nikdy nepotřebujete. TypeScript je jako chybu neohlásí, takže si je pohlídejte sami: základní typy se píšou malými písmeny.
Jak psát:
Pokyny
Doplňte typové anotace ke třem proměnným v editoru: jmeno je string, uroven je number a maMapu je boolean.
Pod ně přidejte proměnnou zlato s anotací number a hodnotou 120.
Kira najde v truhle mapu. Pod proměnnými nastavte maMapu na true a console.log na konci změňte tak, aby program vypsal:
Kira, úroveň 3, zlato 120, mapa: trueZačněte programovat zdarma
1/9