TypeScript
TypeScript | |
---|---|
Парадигма | функційне програмування, узагальнене програмування, імперативне програмування, об'єктно-орієнтоване програмування і подійно-орієнтоване програмування |
Дата появи | 1 жовтня 2012 |
Творці | Microsoft |
Розробник | Microsoft |
Останній реліз | 2.0 (22 вересня 2016 ) |
Система типізації | качина типізація, gradual typingd і structural typingd |
Під впливом від | JavaScript, C Sharp, Java і CoffeeScript |
Мова реалізації | JavaScript[https://www.openhub.net/p/typescript/analyses/latest/languages_summary_The_typescript_Open_Source_Project_on_Open_Hub:_Languages_Page] |
Ліцензія | Apache License |
Звичайні розширення файлів | .ts або .tsx |
Репозиторій вихідного коду | github.com/Microsoft/TypeScript |
Вебсайт | www.typescriptlang.org |
TypeScript — мова програмування, представлена Microsoft восени 2012; позиціонується як засіб розробки веб-застосунків, що розширює можливості JavaScript[2][3][4][5][5][6][7].
Розробником мови TypeScript є Андерс Гейлсберг (англ. Anders Hejlsberg), який створив раніше C#, Turbo Pascal і Delphi.
Код експериментального компілятора, котрий транслює код TypeScript в представлення JavaScript, поширюється під ліцензією Apache, розробка ведеться в публічному репозиторії через сервіс CodePlex. Специфікації мови відкриті і опубліковані в рамках угоди Open Web Foundation Specification Agreement (OWFa 1.0)[8].
TypeScript є зворотньо сумісним з JavaScript. Фактично, після компіляції програму на TypeScript можна виконувати в будь-якому сучасному браузері або використовувати спільно з серверною платформою Node.js.
Переваги над JavaScript:
- можливість явного визначення типів (статична типізація),
- підтримка використання повноцінних класів (як в традиційних об'єктно-орієнтованих мовах),
- підтримка підключення модулів.
За задумом ці нововведення мають підвищити швидкість розробки, прочитність, рефакторинг і повторне використання коду, здійснювати пошук помилок на етапі розробки та компіляції, а також швидкодію програм.
Планується, що в силу повної зворотної сумісності адаптація існуючих застосунків на нову мову програмування може відбуватися поетапно, шляхом поступового визначення типів. Підтримка динамічної типізації зберігається — компілятор TypeScript успішно обробить і не модифікований код на JavaScript. Основний принцип мови — весь існуючий код на JavaScript сумісний з TypeScript, тобто в програмах на TypeScript можна використовувати стандартні JavaScript-бібліотеки і раніше створені напрацювання. Більш того, можна залишити існуючі JavaScript-проекти в незмінному вигляді, а дані про типізації розмістити у вигляді анотацій, які можна помістити в окремі файли, які не заважатимуть розробці і прямому використанню проекту (наприклад, подібний підхід зручний при розробці JavaScript-бібліотек).
На момент релізу представлені файли для сприйняття розширеного синтаксису TypeScript для Vim і Emacs, а також плагін для Microsoft Visual Studio.
Одночасно з виходом специфікації розробники підготували файли з деклараціями статичних типів для деяких популярних JavaScript-бібліотек, серед яких jQuery.