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žit string do 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čí chybou error 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, Number a Boolean s 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.

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: true

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

1/9