TypeScript
From Wikipedia, the free encyclopedia
Remove ads
TypeScript — гэта свабодная мова праграмавання высокага ўзроўню з адкрытым зыходным кодам. Яна распрацавана Microsoft. TypeScript дадае ў JavaScript статычную тыпізацыю з дадатковымі анатацыямі тыпаў. Яна прызначана для распрацоўкі вялікіх праграм і транспілюе зыходны код ў JavaScript[3]. Паколькі TypeScript з’яўляецца падмноствам JavaScript, усе праграмы на JavaScript сінтаксічна карэктныя для TypeScript, аднак у мэтах бяспекі яны могуць не праходзіць праверку тыпаў.
TypeScript можа выкарыстоўвацца для распрацоўкі JavaScript-праграм як для выканання на баку кліента, так і на баку сервера (як у Node.js ці Deno). Для транспіляцыі даступна некалькі варыянтаў. Можна выкарыстоўваць стандартны кампілятар TypeScript[4], або можна выклікаць кампілятар Babel.
TypeScript падтрымлівае файлы азначэнняў, якія могуць утрымліваць інфармацыю аб тыпах існых бібліятэк JavaScript, падобна таму як загалоўкавыя файлы C++ могуць апісваць структуру існых аб’ектных файлаў. Гэта дазваляе іншым праграмам выкарыстоўваць значэнні, апісаныя ў гэтых файлах так, як калі б яны былі статычна тыпізаванымі сутнасцямі TypeScript. Існуюць іншыя загалоўкавыя файлы для такіх папулярных бібліятэк, як jQuery, MongoDB і D3.js. Таксама даступныя загалоўкі TypeScript для модуляў бібліятэк Node.js, што дазваляе распрацоўваць праграмы на Node.js у рамках TypeScript[5].
Кампілятар TypeScript сам напісаны на мове TypeScript і скампіляваны ў JavaScript. Ён ліцэнзуецца ў адпаведнасці з ліцэнзіяй Apache 2.0. Андэрс Хэйлсберг, вядучы архітэктар C# і стваральнік Delphi і Turbo Pascal, удзельнічаў у распрацоўцы TypeScript[6][7][8][9].
Remove ads
Асаблівасці
TypeScript — гэта пашырэнне мовы, якое дадае магчымасці ў стандарт ECMAScript 6. Дадатковыя магчымасці ўключаюць:
- Анатацыі тыпу і праверка тыпу падчас кампіляцыі
- Вывад тыпу
- Сціранне тыпу
- Інтэрфейсы
- Пералічальныя тыпы
- Джэнерыкі
- Прастор імёнаў
- Картэжы
- Async/await
Наступныя функцыі перанесены з ECMAScript 2015:
- Класы
- Модулі[10]
- Скарочаны сінтаксіс «стрэлкі» для ананімных функцый
- Неабавязковыя параметры і параметры па змаўчанні
Сінтаксічна TypeScript вельмі падобны на JScript.NET, іншай рэалізацыі Microsoft стандарту ECMA-262, якая дадала падтрымку статычнага тыпу і класічных функцый аб’ектна-арыентаванай мовы, такіх як класы, спадчыннасць, інтэрфейсы і прастор імёнаў.
Сумяшчальнасць з JavaScript
TypeScript з’яўляецца строгім супермноствам ECMAScript 2015, які сам з’яўляецца супермноствам ECMAScript 5, звычайна званага JavaScript[11]. Такім чынам, праграма на JavaScript таксама з’яўляецца карэктнай праграмай на TypeScript, а праграма на TypeScript можа без праблем выкарыстоўваць JavaScript. Па змаўчанні кампілятар арыентаваны на ECMAScript 5, які зараз з’яўляецца пераважным стандартам, але таксама здольны генераваць канструкцыі, якія выкарыстоўваюцца ў ECMAScript 3 ці 2015.
З дапамогай TypeScript можна выкарыстоўваць існуючы код JavaScript, уключаць у яго папулярныя бібліятэкі JavaScript і выклікаць код, згенераваны на TypeScript, з іншых бібліятэк JavaScript[12]. Дэкларацыі тыпаў для гэтых бібліятэк прадастаўляюцца разам з зыходным кодам.
Анатацыі тыпаў
TypeScript забяспечвае статычную тыпізацыю з дапамогай анатацый тыпаў, што дазваляе выконваць праверку тыпаў падчас кампіляцыі. Гэта неабавязкова і можа быць праігнаравана для выкарыстання звычайнай дынамічнай тыпізацыі JavaScript.
function add(left: number, right: number): number {
return left + right;
}
Класы
TypeScript падтрымлівае класы ECMAScript 2015, у якіх рэалізавана падтрымка дадатковых анатацый тыпаў.
class Person {
private name: string;
private age: number;
private salary: 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})`; // As of version 1.4
}
}
Джэнерыкі
TypeScript падтрымлівае абагульненае праграмаванне[13]. Ніжэй прыведзены прыклад выкарыстання функцыі Identity[14].
function id<T>(x: T): T {
return x;
}
Remove ads
Зноскі
- Type Compatibility (англ.). TypeScript. Праверана 9 кастрычніка 2023.
- The typescript Open Source Project on Open Hub: Licenses Page — 2006. Праверана 18 ліпеня 2018.
- Bright. Microsoft TypeScript: the JavaScript we need, or a solution looking for a problem? . Ars Technica. Condé Nast (3 кастрычніка 2012). Праверана 26 April 2015.
- TypeScript Programming with Visual Studio Code (англ.). code.visualstudio.com. Праверана 12 February 2019.
- borisyankov/DefinitelyTyped . GitHub. Праверана 26 April 2015.
- Foley. Microsoft takes the wraps off TypeScript, a superset of JavaScript . ZDNet. CBS Interactive (1 кастрычніка 2012). Праверана 26 April 2015.
- Somasegar. Somasegar's blog . Microsoft (1 кастрычніка 2012). Праверана 26 April 2015.
- Baxter-Reynolds. Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript? . ZDNet (1 кастрычніка 2012). Праверана 26 April 2015.
- Jackson. Microsoft Augments Javascript for Large-scale Development(недаступная спасылка). CIO. IDG Enterprise (1 кастрычніка 2012). Архівавана з першакрыніцы 17 December 2013. Праверана 26 April 2015.
- Klint Finley. Microsoft Previews New JavaScript-Like Programming Language TypeScript . TechCrunch (1 кастрычніка 2012). Праверана 27 November 2013.
- Welcome to TypeScript . typescriptlang.org. Microsoft. Праверана 26 April 2015.
- Turner. Announcing TypeScript 0.9 . TypeScript Language team blog. Microsoft (18 чэрвеня 2013).
Remove ads
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads