TypeScript (original) (raw)
Z Wikipedie, otevřené encyklopedie
TypeScript
![]() |
|
---|---|
Paradigma | skriptovací, objektový, strukturovaný, imperativní, funkcionální |
Vznik | 1. října 2012 |
Autor | Microsoft |
Vývojář | Microsoft |
Poslední verze | 4.8.3 (8. září 2022) |
Ovlivněn jazyky | JavaScript, Java, C# |
Ovlivnil jazyky | AtScript |
Licence | Apache License 2.0 |
Web | http://www.typescriptlang.org/ |
TypeScript je open-source programovací jazyk vytvořený a spravovaný společností Microsoft. Jedná se o nadstavbu nad jazykem JavaScript, která jej rozšiřuje o statické typování a další atributy, které známe z objektově orientovaného programování (třídy, moduly, a další).
Samotný kód psaný v TypeScriptu se kompiluje do JavaScriptu. Jelikož je TypeScript nadstavbou nad JavaScriptem, je každý JavaScriptový kód automaticky validním TypeScript kódem.
TypeScript podporuje hlavičkové soubory, které mohou obsahovat informace o typech a rozhraních již existujících knihoven. Tím nám umožňuje používat externí knihovny, které nebyly napsány v TypeScriptu, včetně striktního typování. V tuto chvíli existují hlavičkové soubory pro známé knihovny jako jQuery, MongoDB, Node.js nebo D3.js.
TypeScript je rozšířením standardu ECMAScript 5. Rozšiřujícími vlastnostmi jsou:
- anotace typů a typová kontrola
- třídy
- rozhraní
- výčtový typ
- mixiny
- genericita
- moduly
- zkrácená syntaxe pro anonymní funkce
- výchozí hodnoty parametrů funkcí
TypeScript nabízí statické typování prostřednictvím anotací umožňující typovou kontrolu při kompilaci. Tyto anotace jsou nepovinné a není třeba je použít, pokud chceme využívat dynamického typování.
function secti(a: number, b: number): number { return a + b; }
Pro primitivní datové typy zavádí TypeScript anotace number
, string
a boolean
. Pro dynamický typ lze použít anotaci any
.
Anotace typů lze umístit do samostatného souboru, což umožňuje mj. používat uvnitř TypeScript kódu již existující JavaScriptové knihovny. Těm stačí pouze nadefinovat tyto anotace a využít tak statického typování.
interface IOsoba { naRetezec(): string; }
TypeScript podporuje třídy dle standardu ECMAScript 6.
class Osoba implements IOsoba { private jmeno: string; private vek: number; private plat: number;
constructor(jmeno: string, vek: number, plat: number) {
this.jmeno = jmeno;
this.vek = vek;
this.plat = plat;
}
naRetezec(): string {
return this.jmeno + " (" + this.vek + ")" + "(" + this.plat + ")";
}
}
TypeScript podporuje Generické programování.
TypeScript umožňuje pomocí modulů zapouzdření tříd, rozhraní, funkcí a proměnných do vlastního jmenného prostoru.
module Organismy {
class Osoba {
// ...
}
}
V tomto článku byl použit překlad textu z článku TypeScript na anglické Wikipedii.
Obrázky, zvuky či videa k tématu TypeScript na Wikimedia Commons
- oficiální web (anglicky)
- TypeScript projekt na GitHubu
- Specifikace TypeScript jazyka (anglicky)
- JavaScript
- ECMAScript