TypeScript

Allikas: Vikipeedia
Jump to navigation Jump to search


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[1]. Kuna JavaScript on TypeScripti alamhulk, on kõik olemasolevad valiidsed JavaScript programmid ühtlasi ka valiidsed TypeScripti programmid.

Ajalugu[muuda | muuda lähteteksti]

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

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[5].

Keele disain[muuda | muuda lähteteksti]

TypeScript loodi tulenevalt JavaScripti puudustest, mis tekkisid suurte rakenduste loomisel Microsoftis[6]. 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[muuda | muuda lähteteksti]

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[muuda | muuda lähteteksti]

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[muuda | muuda lähteteksti]

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[muuda | muuda lähteteksti]

  1. Jackson, Joab. "Microsoft Augments Javascript for Large-scale Development". CIO, 1. oktoober 2012. IDG Enterprise. Kasutatud 26. aprill 2015.
  2. InfoWorld. "Microsoft augments JavaScript for large-scale development". InfoWorld, 1. oktoober 2012. Kasutatud 26. aprill 2015.
  3. Turner, Jonathan. "Announcing TypeScript 1.0". TypeScript Language team blog, 2. aprill 2014. Kasutatud 26. aprill 2015.
  4. "TypeScript". Eclipse Marketplace. Eclipse Foundation. Kasutatud 26.aprill 2015.
  5. Jackson, Joab. "Microsoft TypeScript graduates to Visual Studio". PC World. IDG, 25. veebruar 2014. Kasutatud 26. aprill 2015.
  6. Anders Hejlsberg. "What is TypeScript and why with Anders Hejlsberg". www.hanselminutes.com, 5. oktoober 2012. Kasutatud 15. jaanuar 2015.