TypeScript

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
TypeScript
TypeScript Logo.svg
Парадигма Функційне програмування, Узагальнене програмування, імперативне програмування, об'єктно-орієнтоване програмування і Подійно-орієнтоване програмування
Дата появи 1 жовтня 2012
Творці Microsoft
Розробник Microsoft
Останній реліз 4.9.4 (8 вересня, 2022; 6 місяців тому (2022-09-08)[1])
Система типізації качина типізація, gradual typingd і structural typingd
Під впливом від JavaScript, C#
Вплинула на AtScript, AssemblyScript
Ліцензія Apache License
Звичайні розширення файлів .ts, .tsx
Репозиторій вихідного коду github.com/Microsoft/TypeScript
Вебсайт www.typescriptlang.org
CMNS: TypeScript у Вікісховищі

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.

Особливості мови[ред. | ред. код]

Означення типів[ред. | ред. код]

Приклад статичної типізації TypeScript при означенні функції:

function add(left: number, right: number): number {
	return left + right;
}

Примітивні типи, що можуть використовуватися при анотації — це number, boolean і string (числовий, булевий і рядковий, відповідно).

Виноски[ред. | ред. код]

Посилання[ред. | ред. код]