TypeScript

TypeScript on vabavaraline programmeerimiskeel, mida arendab Microsoft. TypeScript võimaldab lisada staatilist tüübikirjeldust. TypeScripti võib kasutada nii kliendi- kui ka serveripoolsete (Node.js) JavaScripti rakenduste loomiseks.

TypeScript on loodud suurte rakenduste loomiseks ning kompileerub JavaScriptiks. Kuna JavaScript on TypeScripti alamhulk, on kõik olemasolevad valiidsed JavaScript programmid ühtlasi ka valiidsed TypeScripti programmid.

Ajalugu 
TypeScript sai avalikuks 2012. aasta oktoobris, kaks aastat pärast Microsofti enda sisemist arendust. Aastast 2013 toetavad TypeScripti peale Microsoft Visual Studio ka teised IDEsid, kuhu kuulvad näiteks Eclipse, Emacs, Vim, Sublime, Webstorm ja Atonit.

2014. aasta juunis teatas arendustiim uuest kompilaatorist, mis oli jõudluse poolest 5 korda efektiivsem.

2016. aasta septembris väljastati TypeScript 2.0, mis võimaldas arendajatel valikuliselt ennetada muutujate null väärtust.

Keele disain 
TypeScript loodi tulenevalt JavaScripti puudustest, mis tekkisid suurte rakenduste loomisel Microsoftis. Eesmärk oli luua lahedus, mis oleks ühilduv ning töötaks igal platvormil.

TypeScript vastab kõikidele ECMAScript 2015 standarditele, võimaldades seejuures luua klasse, mooduleid ning kasutada noolefunktsioone.

TypeScriptiga on võimalik kasutada olemasolevat JavaScripti koodi ning muuta see turvalisemaks, annoteerides muutujate tüüpe. Lisada on võimalik ka olemasolevaid JavaScripti teeke, aga arvestama peab sellega, et need tuleb annoteerida. Mõnikord on võimalik installida ka olemasolevaid tüübideklaratsioone, kuid nende puudumisel tuleb programmeerijal need ise kirjutada.

Tüübikirjeldused 
TypeScript võimaldab staatilist tüübikirjeldust, annoteerides muutujate tüüpe. Tüübikontroll viiakse läbi kompileerimisajal. Tüübikirjeldus on valikuline, mis tähendab, et kõiki tüüpe ei pea määrama (erinevalt Javast) ning lubatud on kirjutada ka tavalist JavaScripti.function liida(vasak: number, parem: number): number 
{
	return vasak + parem;
}Primitiivsed annoteerimistüübid on number (number) , tõeväärtus (boolean) ja sõne (string).

Deklaratsiooni failid 
TypeScripti kompileerimise ajal on võimalik genereerida deklaratsiooni faile (laiendiga .d.ts), mis on liideseks komponendile, mille kompileerib JavaScript. Selle käigus viskab kompailer ära kõik funktsioonide ja meetodite kehad, jättes alles ainult signatuurid.declare module aritmeetika {
    liida(vasak: number, parem: number): number;
    lahuta(vasak: number, parem: number): number;
    korruta(vasak: number, parem: number): number;
    jaga(vasak: number, parem: number): number;
}

Klassid 
TypeScript toetab ECMAScript 2015 klasse, millele on võimalik lisada ka tüüpe:class Isik {
    private nimi: string;
    private vanus: number;
    private palk: number;

    constructor(nimi: string, vanus: number, palk: number) {
        this.nimi = nimi;
        this.vanus = vanus;
        this.palk = palk;
    }

    toString(): string {
        return `${this.nimi} (${this.vanus}) (${this.palk})`; // Versioon 1.4
    }
}

Viited 

Programmeerimiskeeled