TypeScript: відмінності між версіями

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[перевірена версія][перевірена версія]
Вилучено вміст Додано вміст
Вступ задовгий
Рядок 42: Рядок 42:
* підтримка використання повноцінних [[Клас (програмування)|класів]] (як в традиційних об'єктно-орієнтованих мовах),
* підтримка використання повноцінних [[Клас (програмування)|класів]] (як в традиційних об'єктно-орієнтованих мовах),
* підтримка підключення модулів.
* підтримка підключення модулів.
За задумом ці нововведення мають підвищити швидкість розробки, [[прочитність]], рефакторинг і повторне використання коду, здійснювати пошук помилок на етапі розробки та компіляції, а також швидкодію програм.
За задумом ці нововведення мають підвищити швидкість розробки, [[прочитність]], рефакторинг і повторне використання коду, здійснювати пошук помилок на етапі розробки та компіляції, а також швидкодію програм.{{джерело}}


Планується, що в силу повної зворотної сумісності адаптація існуючих застосунків на нову мову програмування може відбуватися поетапно, шляхом поступового визначення типів. Підтримка [[динамічна типізація|динамічної типізації]] зберігається — компілятор TypeScript успішно обробить і не модифікований код на JavaScript. Основний принцип мови — весь існуючий код на JavaScript сумісний з TypeScript, тобто в програмах на TypeScript можна використовувати стандартні JavaScript-бібліотеки і раніше створені напрацювання. Більш того, можна залишити існуючі JavaScript-проекти в незмінному вигляді, а дані про типізації розмістити у вигляді анотацій, які можна помістити в окремі файли, які не заважатимуть розробці і прямому використанню проекту (наприклад, подібний підхід зручний при розробці JavaScript-бібліотек).
Планується, що в силу повної зворотної сумісності адаптація наявних застосунків на нову мову програмування може відбуватися поетапно, шляхом поступового визначення типів. Підтримка [[динамічна типізація|динамічної типізації]] зберігається — компілятор TypeScript успішно обробить і не модифікований код на JavaScript.
Основний принцип мови — будь-який код на JavaScript сумісний з TypeScript, тобто в програмах на TypeScript можна використовувати стандартні JavaScript-бібліотеки і раніше створені напрацювання. Більш того, можна залишити наявні JavaScript-проекти в незмінному вигляді, а дані про типізації розмістити у вигляді анотацій, які можна помістити в окремі файли, які не заважатимуть розробці і прямому використанню проекту (наприклад, подібний підхід зручний при розробці JavaScript-бібліотек).


На момент релізу представлені файли для сприйняття розширеного синтаксису TypeScript для [[Vim]] і [[Emacs]], а також [[плагін]] для [[Microsoft Visual Studio]].
На момент релізу представлені файли для сприйняття розширеного синтаксису TypeScript для [[Vim]] і [[Emacs]], а також [[плагін]] для [[Microsoft Visual Studio]].

Версія за 12:09, 6 жовтня 2020

TypeScript
Парадигмафункційне програмування, узагальнене програмування, імперативне програмування, об'єктно-орієнтоване програмування і подійно-орієнтоване програмування
Дата появи1 жовтня 2012
ТворціMicrosoft
РозробникMicrosoft
Останній реліз3.8.2 (23 лютого, 2020; 4 роки тому (2020-02-23)[1])
Тестова версія3.7 beta[2] (2 жовтня, 2019; 4 роки тому (2019-10-02))
Система типізаціїкачина типізація, gradual typingd і structural typingd
Під впливом відJavaScript, C#
Вплинула наAtScript, AssemblyScript
Мова реалізаціїJavaScript[https://www.openhub.net/p/typescript/analyses/latest/languages_summary_The_typescript_Open_Source_Project_on_Open_Hub:_Languages_Page]_—_2006.[[d:Track:Q124688]]-3">[3] і TypeScript
ЛіцензіяApache License
Звичайні розширення файлів.ts, .tsx
Репозиторій вихідного кодуgithub.com/Microsoft/TypeScript
Вебсайтwww.typescriptlang.org

TypeScriptмова програмування, представлена Microsoft восени 2012; позиціонується як засіб розробки веб-застосунків, що розширює можливості JavaScript[4][5][6][7][7][8][9].

Розробником мови TypeScript є Андерс Гейлсберг (англ. Anders Hejlsberg), який створив раніше C#, Turbo Pascal і Delphi.

Код експериментального компілятора, котрий транслює код TypeScript в представлення JavaScript, поширюється під ліцензією Apache, розробка ведеться в публічному репозиторії через сервіс CodePlex. Специфікації мови відкриті і опубліковані в рамках угоди Open Web Foundation Specification Agreement (OWFa 1.0)[10].

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 (числовий, булевий і рядковий, відповідно). Структури даних належать до типу any.

Виноски

  1. Release . Microsoft/TypeScript. TypeScript.
  2. TypeScript is a superset of JavaScript that compiles to clean JavaScript output.: microsoft/TypeScript, Microsoft, 2 жовтня 2019, процитовано 2 жовтня 2019
  3. [https://www.openhub.net/p/typescript/analyses/latest/languages_summary_The_typescript_Open_Source_Project_on_Open_Hub:_Languages_Page]_—_2006.[[d:Track:Q124688]]
_3-0">↑ The typescript Open Source Project on Open Hub: Languages Page — 2006.
  • Microsoft takes the wraps off TypeScript, a superset of JavaScript
  • TypeScript: JavaScript Development at Application Scale
  • Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript?
  • а б Microsoft Augments Javascript for Large-scale Development
  • Microsoft анонсировала новый язык веб-программирования TypeScript
  • opennet.ru: Компания Microsoft представила TypeScript, новую открытую альтернативу JavaScript
  • Open Web Foundation Final Specification Agreement (OWFa 1.0)
  • Посилання

    • typescriptlang.org
    • TypeScript project at Codeplex
    • TypeScript Language Specification[недоступне посилання з червня 2019]