TypeScript −Microsoft tárepinen jaratılǵanbiypul hám ashıq kodlıjoqarı dárejeli programmalastırıw tili, olJavaScript-ke qosımsha túrdegi annotaciyalar menen statikalıq teriwdi (jazıwdı) qosadı. Ol úlken qosımshalardı jaratıwǵa hám JavaScript-ke transpilyaciyalawǵa arnalǵan[1]. TypeScript JavaScript-tiń joqarı jıynaǵı bolǵanlıqtan, barlıq JavaScript programmalarısintaksislik jaǵınan TypeScript-ke jaramlı bolıp tabıladı, biraq olar qáwipsizlik sebepleri boyınsha teriwdi teksere almaydı.
TypeScript klient tárepinen de, server tárepinen de orınlaw ushınJavaScript qosımshaların jaratıw ushın paydalanıwı múmkin (Node.js, Deno yamasa Bun sıyaqlı). Transpilyaciya ushın bir neshe opciyalar bar. Standart TypeScriptkompilyatorın[2] paydalanıwǵa boladı yamasa TypeScript-ti JavaScript-ke aylandırıw ushın Babel kompilyatorın shaqırıwǵa boladı.
TypeScript bar JavaScript kitapxanalarınıń tip informaciyasın qamtıytuǵın anıqlawshı fayllardı qollaydı,C++ kitapxana faylları bar obyekt fayllarınıń strukturasın sáwlelendire aladı. Bul basqaprogrammalarǵa fayllarda anıqlanǵan mánislerdi statikalıq túrde terilgen TypeScript obyektleri sıyaqlı paydalanıwǵa imkaniyat beredi.jQuery,MongoDB hám D3.js sıyaqlı ataqlı kitapxanalarǵa arnalǵan úshinshi tárep kitapxana faylları bar.Node.js kitapxana modulleri ushın TypeScript kitapxanalarında da TypeScript ishinde Node.js programmaların rawajlandırıwǵa imkaniyat beredi[3].
TypeScriptkompilyatorınıń ózi TypeScript tilinde jazılǵan hámJavaScript-ke kompilyaciya etilgen. Ol Apache 2.0 licenziyası boyınsha licenziyalanǵan. Anders Xeylsberg,C# tiliniń jetekshi arxitektorı hámde Delphi hám Turbo Pascal tiliniń jaratıwshısı, TypeScript-ti islep shıǵıw boyınsha jumıs isledi[4][5][6][7].
TypeScript 2012-jılMicrosoft korporaciyasında eki jıllıq ishki rawajlanıwdan keyin 0.8 versiyası menen kópshilikke shıǵarıldı[8][9]. Aradan kóp ótpesten dáslepki járiyalanıwdan keyin Migel de Ikazatildiń ózin joqarı bahaladı, biraq ol gezdeLinux hám OS X sistemalarında bolmaǵan MicrosoftVisual Studio-dan basqa jetiliskenortalıq (IDE) qollawınıń joqlıǵın sınadı[10][11]. 2021-jıl aprelden baslap basqaprogrammalastırıw ortalıq hám tekst redaktorlarda, sonıń ishinde Emacs, Vim, WebStorm, Atom[12] hámMicrosoft korporaciyasınıń jekeVisual Studio Code qollawı bar[13]. 2013-jılı shıǵarılǵan TypeScript 0.9 generiklerge qollawdı qostı[14].
TypeScript 1.0 2014-jılı Microsoft Buildbaǵdarlamashılar konferenciyasında shıǵarıldı[15]. Visual Studio 2013 Update 2 TypeScript ushın ornatılǵan qollawdı támiyinledi[16]. Keyingi jetilistiriw 2014-jıl iyulda ámelge asırıldı,baǵdarlamashılar toparı ónimliliktiń bes ese artqanın hám jańakompilyatorın járiyaladı. Bir waqıtta CodePlex-te dáslepki ornatılǵanderek kodıGitHub-qa kóshirildi.[17].
2016-jıl 22-sentyabrde TypeScript 2.0 shıǵarıldı, ol bir neshe imkaniyatlardı[18], sonıń ishinde baǵdarlamashılarǵa geyde milliard dollarlıq qáte dep atalatuǵın qáteni azaytıw ushın nollik qáwipsizlikti tańlaw imkaniyatın qostı.
TypeScript 3.0 2018-jıl 30-iyulda islep shıǵarıldı[19], ol demalıs parametrlerindegi kortejler hám tarqalıw ańlatpaları, kortej tipleri bar demalıs parametrleri, ulıwma demalıs parametrleri h.t.b. sıyaqlı kóplegen til tolıqtırıwların ákeldi[20].
TypeScript 4.0 2020-jıl 20-avgustte shıǵarıldı[21]. 4.0 heshqanday úzilissiz ózgerissiz kirgizbese de, ol Custom JSX Factories hám Variadic Tuple Types sıyaqlı til imkaniyatların qostı.[21]
TypeScript 5.0 2023-jıl 16-martta shıǵarıldı hám dekoratorlardı qollawdı óz ishine aldı[22].
TypeScript Microsoft korporaciyasında da, olardıń sırtqı tutınıwshıları arasında da keń kólemli qosımshalardı jaratıwǵa arnalǵan JavaScript kemshiliklerinen payda boldı[23]. Quramalı JavaScript kodı menen jumıs islew qıyınshılıqları tildegi komponentlerdi jaratıwdı jeńilletiw ushın arnawlı qurallarǵa bolǵan talaptı payda etti[24].
TypeScriptbaǵdarlamashıları standart penen hám onıń kross-platformalıq qollawı menen úylesimlilikti buzbaytuǵın sheshim izledi. Aǵımdaǵı ECMAScript standart usınısı keleshekte klasqa tiykarlanǵanprogrammalastırıwdı qollap-quwatlawın bilip, TypeScript usı usınısqa tiykarlanǵan. Bul sintaksislik til keńeytpeleriniń jıynaǵı barJavaScript kompilyatorına ákeldi, keńeytpelerin ápiwayı JavaScript-ke aylandıratuǵın usınısqa tiykarlanǵan joqarı toplam. Usı mániste, TypeScript klass imkaniyatı ECMAScript 2015 versiyasınan ne kútiwge bolatuǵının aldınnan kóriw edi. Usınısta emes, biraq TypeScript programmasına qosılǵan ózine tán aspekt − statikalıq tildi analizlewge imkaniyat beretuǵın qosımsha statikalıq teriw (birimlep teriw dep te ataladı) qurallardı hámIDE qollawın jeńilletedi.
TypeScript – bul ECMAScript 2015 programmasınıń qatań toplamı, onıń ózi ádetteJavaScript dep atalatuǵın ECMAScript 5-tiń joqarı toplamı bolıp tabıladı[25]. Solay etip, JavaScript programması da tiyisli TypeScript programması bolıp tabıladı hám TypeScript baǵdarlaması JavaScript-ti úziliksiz tutınıwı múmkin. Ádepki boyınsha kompilyator aǵımdaǵı basım standart ECMAScript 5-ke baǵdarlanǵan, biraq sonıń menen birge ECMAScript 3 yamasa 2015-te paydalanatuǵın konstrukciyalardı isley aladı.
TypeScript járdemi menen bar JavaScript kodın paydalanıwǵa, ataqlı JavaScript kitapxanaların biriktiriwge hám basqa JavaScript-ten TypeScript arqalı jaratılǵan kodtı shaqırıwǵa boladı[26]. Bul kitapxanalar ushın tiplik deklaraciyalarderek kodı menen birge keledi.
TypeScriptJava-ǵa uqsassintaksisti paydalanıpulıwmalastırılǵan programmalastırıwdı(ingl. generic programming) qollaydı[27]. Tómende indentifikaciya funkciyasına mısal keltirilgen[28].
functionid<T>(x:T):T{returnx;}
TypeScript sáykes funkciyalar menen ózgeriwshiler sıyaqlı klass metodları menen maydanları ushın birdey annotaciya mánislerin paydalanadı. Vanil JavaScript klasları menen salıstırǵanda, TypeScript klası interfeystiimplements gilt sózi arqalı ámelge asıra aladı, Java-ǵa uqsas ulıwma parametrlerdi paydalana aladı hám ulıwma hámde jeke maydanlardı kórsete aladı.
classPerson{privatename:string;privateage:number;privatesalary:number;constructor(name:string,age:number,salary:number){this.name=name;this.age=age;this.salary=salary;}toString():string{return`${this.name} (${this.age}) (${this.salary})`;}}
TypeScript moduller menen atlar keńisliklerin(ingl. namespaces) ajıratadı. TypeScript-tiń eki imkaniyatı da klaslardı, interfeyslerdi, funkciyalardı hám ózgeriwshi mánislerdi konteynerlerge inkapsulyaciyalawdı qollaydı. At keńisligi (burınǵı ishki moduller) kodtı inkapsulyaciyalaw ushın JavaScript operativ shaqırılatuǵın funkciya ańlatpaların paydalanadı, al moduller (burınǵı sırtqı moduller) bunı islew ushın JavaScript kitapxanasınıń shablonların paydalanadı (AMD yamasa CommonJS)[29].
TypeScript-tiń tsc dep atalatuǵın kompilyatorı TypeScript tilinde jazılǵan. Nátiyjesinde onı ápiwayı JavaScript-ke kompilyaciyalawǵa boladı hám onnan keyin hár qanday JavaScriptte (mısalı, brauzerde) orınlawǵa boladı. Kompilyator paketi kompilyatordı orınlay alatuǵın skript xostı menen paydalanatuǵınNode.js paketi retinde de bar.