Выпуск №7 (Июль)
V Международная научная конференция "Science and Global Studies", 30 декабря 2020 (Прага, Чехия)

V Международная научная конференция «Научные исследования: парадигма инновационного развития» (Прага, Чехия), «28» декабря 2020 года

IV Международная научная конференция "Science and Global Studies", 30 ноября 2020 (Прага, Чехия)

IV Международная научная конференция «Научные исследования: парадигма инновационного развития» (Прага, Чехия), «27» ноября 2020 года

ІІІ Международная научная конференция "Science and Global Studies", 30 октября 2020 (г. Прага, Чехия)

ІIІ Международная научная конференция «Научные исследования: парадигма инновационного развития» (Братислава - Вена), «26» мая 2020 года

ІІ Международная научная конференция «Научные исследования: парадигма инновационного развития» (Братислава - Вена), «27» апреля 2020 года

Science and Global Studies, 31 марта 2020 (г. Братислава, Словакия)

Международная научная конференция «Научные исследования: парадигма инновационного развития» (Братислава - Вена), «25» марта 2020 года

Science and Global Studies, 30 декабря 2019 (г. Братислава, Словакия)

XLV Международная научно-практическая конференция «Актуальные проблемы современной науки», 28.11.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XLIV Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.10.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XLIІI Международная научно-практическая конференция «Актуальные проблемы современной науки», 29.08.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XLIІI Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.07.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XLII Международная научно-практическая конференция «Актуальные проблемы современной науки», 27.06.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XLI Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.05.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XL Международная научно-практическая конференция «Актуальные проблемы современной науки», 28.03.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

МНПК "Цифровая трансформация и инновации в экономике, праве, государственном управлении, науке и образовательных процессах", 18-21.03.2019

XXXIX Международная научно-практическая конференция «Актуальные проблемы современной науки», 27.02.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XIII Международная научно-практическая конференция «Научный диспут: вопросы экономики и финансов», 31.01.2019 (Совместная конференция с Финансово-экономическим научным советом)

XXXVIII Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.01.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XXXVІI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.12.2018 (Совместная конференция с Международным научным центром)

XXXVI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.11.2018 (Совместная конференция с Международным научным центром)

XIII Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.10.2018 (Совместная конференция с Финансово-экономическим научным советом)

XXXV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.10.2018 (Совместная конференция с Международным научным центром)

XXXIV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.09.2018 (Совместная конференция с Международным научным центром)

ХXXIII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.08.2018 (Совместная конференция с Международным научным центром)

ХXXII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 31.07.2018 (Совместная конференция с Международным научным центром)

XII Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.07.2018 (Совместная конференция с Финансово-экономическим научным советом)

ХXXI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.06.2018 (Совместная конференция с Международным научным центром)

ХІ Международная научно-практическая конференция «Глобальные проблемы экономики и финансов», 31.05.2018 (Совместная конференция с Финансово-экономическим научным советом)

XXХ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.05.2018 (Совместная конференция с Международным научным центром)

XXIХ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.04.2018 (Совместная конференция с Международным научным центром)

ХХVIІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.03.2018 (Совместная конференция с Международным научным центром)

ІІІ МНПК "Экономика, финансы и управление в XXI веке: анализ тенденций и перспективы развития", 19-22.03.2018 (Совместная конференция с Финансово-экономическим научным советом)

X Международная научно-практическая конференция «Глобальные проблемы экономики и финансов», 28.02.2018 (Совместная конференция с Финансово-экономическим научным советом)

ХХVІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 27.02.2018 (Совместная конференция с Международным научным центром)

ХХVІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.01.2018 (Совместная конференция с Международным научным центром)

XІІ Международная научно-практическая конференция «Научный диспут: вопросы экономики и финансов», 29.12.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХХV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.12.2017 (Совместная конференция с Международным научным центром)

ХХІV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.11.2017 (Совместная конференция с Международным научным центром)

XI Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.10.2017 (Совместная конференция с Финансово-экономическим научным советом)

XІ Международная научно-практическая конференция «Научный диспут: вопросы экономики и финансов», 29.09.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХХIІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.09.2017 (Совместная конференция с Международным научным центром)

X Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.07.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХXII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.07.2017 (Совместная конференция с Международным научным центром)

ХXI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.06.2017 (Совместная конференция с Международным научным центром)

IX Международная научно-практическая конференция «Глобальные проблемы экономики и финансов», 31.05.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХX Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.05.2017 (Совместная конференция с Международным научным центром)

"Тенденции развития национальных экономик: экономическое и правовое измерение" 18-19.05.2017 (Совместная конференция с Финансово-экономическим научным советом и ККИБиП)

ХIX Международная научно-практическая конференция: "Актуальные проблемы современной науки", 27.04.2017 (Совместная конференция с Международным научным центром)

IX Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 31.03.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХVIII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.03.2017 (Совместная конференция с Международным научным центром)

МНПК "Экономика, финансы и управление в XXI веке: анализ тенденций и перспективы развития", 20–23.03.2017 (Совместная конференция с Финансово-экономическим научным советом)

VIII Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 28.02.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХVII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 27.02.2017 (Совместная конференция с Международным научным центром)

VIII Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 31.01.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХVI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.01.2017 (Совместная конференция с Международным научным центром)

ХV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.12.2016 (Совместная конференция с Международным научным центром)

VIII Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 28.12.2016 (Совместная конференция с Финансово-экономическим научным советом)

VII Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 30.11.2016 (Совместная конференция с Финансово-экономическим научным советом)

ХІV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.11.2016 (Совместная конференция с Международным научным центром)

VII Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 31.10.2016 (Совместная конференция с Финансово-экономическим научным советом)

ХІІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.10.2016 (Совместная конференция с Международным научным центром)

VII Международная научно-практическая конф. «Научный диспут: вопросы экономики и финансов», 30.09.2016 (Совместная конференция с Финансово-экономическим научным советом)

ХІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.09.2016 (Совместная конференция с Международным научным центром)

XI Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.08.2016 (Совместная конференция с Международным научным центром)

ІV Международная научно-практическая конф. "Экономика и управление в XXI веке: анализ тенденций и перспектив развития", 29.07.2016 (Совместная конференция с Финансово-экономическим научным советом)

X Международная научно-практическая конференция "Актуальные проблемы современной науки", 28.07.2016 (Совместная конференция с Международным научным центром)

VІ Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 30.06.2016 (Совместная конференция с Финансово-экономическим научным советом)

ІX Международная научно-практическая конференция "Актуальные проблемы современной науки", 29.06.2016 (Совместная конференция с Международным научным центром)

VI Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 31.05.2016 (Совместная конференция с Финансово-экономическим научным советом)

VIIІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 30.05.2016 (Совместная конференция с Международным научным центром)

V Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 29.04.2016 (Совместная конференция с Финансово-экономическим научным советом)

VIІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 28.04.2016 (Совместная конференция с Международным научным центром)

VІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 31.03.2016 (Совместная конференция с Международным научным центром)

ІI Международная научно-практическая конф. "Экономика и управление в XXI веке: анализ тенденций и перспектив развития", 30.03.2016 (Совместная конференция с Финансово-экономическим научным советом)

V Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 21-24.03.2016 (Совместная конференция с Финансово-экономическим научным советом)

V Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 26.02.2016 (Совместная конференция с Финансово-экономическим научным советом)

II Международная научно-практическая конференция: "Научный диспут: актуальные вопросы медицины" 20.02.2016 (Совместная конференция с Международным научным центром)

ІV Международная научно-практическая конференция "Актуальные проблемы современной науки", 29.12.2015 (Совместная конференция с Международным научным центром)

IV Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 28.12.2015 (Совместная конференция с Финансово-экономическим научным советом)

IV Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 30.11.2015 (Совместная конференция с Финансово-экономическим научным советом)

IV Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 29.10.2015 (Совместная конференция с Финансово-экономическим научным советом)

Международная научно-практическая конференция: "Научный диспут: актуальные вопросы медицины" 28.10.2015 (Совместная конференция с Международным научным центром)

III Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 30.09.2015 (Совместная конференция с Финансово-экономическим научным советом)

III Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 31.08.2015 (Совместная конференция с Финансово-экономическим научным советом)

ІІІ Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 30.06.2015 (Совместная конференция с Финансово-экономическим научным советом)

ІІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 29.06.2015 (Совместная конференция с Международным научным центром)

II Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 28.05.2015 (Совместная конференция с Финансово-экономическим научным советом)

Актуальные проблемы экономики и финансов, 29.04.2015 (Совместная конференция с Финансово-экономическим научным советом)

Научный диспут: вопросы экономики и финансов, 31.03.2015 (Совместная конференция с Финансово-экономическим научным советом)

Актуальные проблемы современной науки, 27.03.2015 (Совместная конференция с Международным научным центром)

Глобальные проблемы экономики и финансов, 27.02.2015 (Совместная конференция с финансово-экономическим научным советом)



Аннотация: Сравнены языки программирования TypeScript и JavaScript, показано, что использование TypeScript облегчает разработку и тестирование веб-приложений.

Ключевые слова: JavaScript, TypeScript, веб-приложение, программирование.


Отрасль науки: Технические науки
Скачать статью (pdf)

Технічні науки

Сергеєв Єгор Ігорович

студент,

Національний технічний університет України

«Київський політехнічний інститут»

Прасолов Андрій Павлович

студент,

Національний технічний університет України

«Київський політехнічний інститут»

Сергеев Егор Игоревич

студент,

Национальный технический университет Украины

«Киевский политехнический институт»

Прасолов Андрей Павлович

студент,

Национальный технический университет Украины

«Киевский политехнический институт»

Serheiev Y.

student

National Technical University of Ukraine

«Kyiv Polytechnic Institute»

Prasolov A.

student

National Technical University of Ukraine

«Kyiv Polytechnic Institute»

ПОРІВНЯННЯ МОВ ПРОГРАМУВАННЯ TYPESCRIPT ТА JAVASCRIPT В РОЗРОБЦІ СУЧАСНИХ ВЕБ-ДОДАТКІВ

СРАВНЕНИЕ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ TYPESCRIPT И JAVASCRIPT В РАЗРАБОТКЕ СОВРЕМЕННЫХ ВЕБ-ПРИЛОЖЕНИЙ

COMPARING TYPESCRIPT AND JAVASCRIPT PROGRAMMING LANGUAGES IN MODERN WEB APPLICATIONS DEVELOPMENT

Анотація: Порівняно мови програмування TypeScript та JavaScript, показано, що використання TypeScript полегшує розробку та тестування веб-додатків.

Ключові слова: JavaScript, TypeScript, веб-додаток, програмування.

Аннотация: Сравнены языки программирования TypeScript и JavaScript, показано, что использование TypeScript облегчает разработку и тестирование веб-приложений.

Ключевые слова: JavaScript, TypeScript, веб-приложение, программирование.

Summary: Were compared TypeScript and JavaScript programming languages, were shown, that TypeScript usage simplifies web-application development and testing.

Keywords: JavaScript, TypeScript, web-application, programming.

Вступ

Як усім відомо, кожен із веб розробників, хоч бек-енд чи фронт-енд повинен досконало знати HTML та JavaScript. Без цих мов, включаючи й CSS неможливо створити повноцінний, сучасний веб-ресурс. Звичайно, сучасні веб-додатки створюються з використанням серверних технологій, таких як NodeJS чи ASP.NET та ін., разом фронт-енд та бек-енд частини утворюють гармонійний веб-додаток, що не поступається десктопним, або, в гарних руках, працює набагато краще. За останні роки, неможливо не помітити зріст популярності інтерпретованої мови програмування JavaScript на світовому ринку. Ця мова, будучи створеною для вирішення питання маніпулювання елементами веб-сторінки, зараз використовується майже усюди, від десктопних додатків, як наприклад, під Windows 8,10 до смартфонів, що працюють на таких операційних системах, як Android чи iOS. Дана мова має таку популярність, оскільки вона досить легка в засвоєнні, хоч і має велику кількість “підводних каменів”, вона інтерпретована, і набагато легша в плані написання коду, ніж С++ чи С, оскільки не потребує коду програміста для очищення вже використаних ресурсів процесора, оскільки очищенням займається збирач сміття (garbage collector). Попри усі ці переваги, дана мова має й свої недоліки. Дану мову не було спроектовано для вирішення більших задач, ніж ті, що зв’язані з маніпулюванням веб-сторінкою, проте розробники з кожним роком покращують її, додаючи нові можливості, а також виправляючи помилки, підтримуючи сумісність з попередніми версіями.

В даній роботі, розглянуто мову, котра називається TypeScript, що було створено в Microsoft під керівництвом Андерса Хейлсберга, який створив такі мови як C#, Delphi і т.д.. TypeScript вирішує основні проблеми JavaScript, як, наприклад, використання статичних типів, що значно спрощує дебагінг коду та його тестування. Спеціалісти з Google використовують TypeScript як основну мову свого нового фреймворка Angular2, що на момент написання статті знаходиться в “release candidate” версії.

Принцип роботи TypeScript

TypeScript має свій компілятор, що компілює код в чистий JavaScript, програміст також може писати й JavaScript код в одному файлі з TypeScript кодом, компілятор просто пропустить дані строки, компілюючи інші. Кожен файл TypeScript має розширення “.ts”, компілятор TypeScript проходить по кожному такому файлу та компілює його в аналогічний файл з JavaScript кодом, в проекті достатньо ссилатися на JavaScript файли. Однак, TypeScript надає й можливість настроювання компілятора, використовуючи спеціальний файл “tsconfig.json”. Даний файл є корінним в проекті для TypeScript. В ньому можна додати файли або папки з файлами  для компіляції, ну і, аналогічно, виключити файли папки з процесу компіляції, змінити кодування для компільованого файла і т.д. (всі опції доступні на офіційному сайті мови TypeScript). Компілятор під час роботи при неправильному співставленні типів не буде зупиняти компіляцію, як, наприклад, в C++, Java, а лише видасть попередження про незпівставлення типів, оскільки це дозволено мовою JavaScript, де число може з легкістю бути приведено до строки та інше, використовуючи спеціальні методи для типів значення та об’єктів.

Порівняння TypeScript та JavaScript

В даному розділі наведено основні можливості мови TypeScript, що неможливо використати в JavaScript:

  1. Використання статичних типів

 

На відміну від JavaScript, в TypeScript розробник повинен писати тип змінної разом з її об’явленням. TypeScript підтримує основні типи, що доступні і в JavaScript – number, string, boolean, null, object, undefined, symbol, promise та інші. Однак, в TypeScript розробник може створити ще й enum(перечислення), void, any(тип параметра не визначено під час компіляції), tuple (кортеж – щось на зразок масиву, що може мати значення різних типів, однак дані типи потрібно описати, тобто кортеж – не те саме, що й масив в JavaScript).

Приклад створення змінної в TypeScript:

let myVar : string = “Hello”;

 

  1. TypeScript дозволяє створювати інтерфейси

    Розробникам мов Java, C# та ін.. відомо, що таке інтерфейси – це контракт, що може приймати функція та реалізує певний клас, задля того, аби код не залежав від конкретної реалізації, інтерфейси використовуються в такому популярному патерні як “dependency injection”. Проте, в TypeScript інтерфейси використовуються в основному задля передачі комплексних типів – об’єктів в певну функцію, при чому функція може повертати об’єкт, що реалізує даний інтерфейс(під реалізацією мається на увазі те, що в об’єкта є ті параметри, що описані в інтерфейсі, тобто їх може бути і більше, проте перевіряються лише необхідні), тобто інтерфейси використовуються задля перевірки типів, що передаються в функцію і використовуються компілятором. Також, основною особливістю інтерфейсів є те, що інтерфейс може мати необов’язкові параметри, що можуть бути проігноровані.

    Приклад інтерфейсу в TypeScript:

    interface Named {

    name: string;

    (a: string, b: string) : string;

    surname?: string;

    }

    В даному інтерфейсі є поле name з типом строка, функція, що приймає два параметри типу строка, а також поле surname, що є необов’язковим.

  1. TypeScript дозволяє створювати класи

    Так, з виходом EcmaScript 6 в JavaScript також можливе використання класів, проте в TypeScript класи мають більше значення та мають більше функцій. По-перше, класи в TypeScript можуть реалізовувати інтерфейси, тобто, їх спокійно можна передавати в функції, як і об’єкти, що реалізують даний інтерфейс. По-друге, в TypeScript класи мають модифікатори доступу – public, private, protected, чого не має JavaScript. По-третє, в TypeScript можна створити абстрактний клас. Отже, TypeScript на даний момент є більш пристосованою для створення ООП коду. Звичайно, в TypeScript, як і в JavaScript є наслідування, статичні методи, конструктори та властивості (getters, setters).

    Найпростіший приклад класу:

    class Person {

    private _name:string;

    constructor(name:string) {

    this._name = name;

    }

    public sayName() : string {

    return this._name;

    }

    };

    В даному класі є лише конструктор, приватне поле типу строка та публічний метод.

  1. Оскільки TypeScript має статичну типізацію то в ньому доступне приведення типів, завдяки спеціальним конструкціям. В версії 1.5 розробникам рекомендується використовувати спеціальний оператор “as”[1], що і використовується для приведення одного типу до іншого.
  2. В TypeScript можна створювати generic-типи та функції,- аналог шаблонів в С++. Звичайно, в простому JavaScript даний функціонал не потрібен, оскільки у функцію можна передати параметр будь-якого типу, проте супроводжувати такий код дуже важко. В TypeScript можна замість таких типів використовувати й спеціальний тип any [2], але він має зовсім інше значення. Як і в шаблонах С++, generic типи використовуються для створення класів, методів, що можуть приймати параметри різних типів. Даний функціонал є дуже важливим в будь-якій мові з статичною типізацією, приклад generic типу:

    function genFunc<T>(arg: T) : T {

    return arg;

    }

    let output = genFunc<number>(5);

    В даному прикладі було створено просту generic фунцію, що приймає параметр та повертає його назад. В змінну output буде записано число 5 і тип цієї змінної – також число. Однак, ми могли використовувати будь-який інший тип – інтерфейс Named, string чи клас Person.

  1. Для функцій в TypeScript зарезервовано спеціальний тип, тобто функція в TypeScript – це не об’єкт, як в звичайному JavaScript, при чому ми не зможемо присвоїти параметру одного типу функції іншому, якщо в них не є однакова кількість параметрів та тип, а також тип значення, що повертається, проте є й виключення, що детальніше описані на офіційному сайті мови TypeScript.
  2. TypeScript підтримує асинхронні методи, використовуючи зарезервовані слова async та await[1]. Для цього метод повинен повертати спеціальний тип – promise, що доступний в JavaScript[1]. Завдяки асинхронності, програмісту тепер не потрібно писати код, з багатьма зв’язаними методами then, success, error, тепер достатньо обрамити метод спеціальним словом async, а код, що викликає даний метод повинен лише використати спеціальне слово await, результатом буде повернені дані з promise. Дана можливість мови не є простою і не одразу зрозуміла і виходить за рамки цієї статті, тому, радимо прочитати про асинхронність і чим вона відрізняється від багатопоточності на спеціальних ресурсах, а про її реалізацію в мові – на сайті мови TypeScript.
  3. Оскільки TypeScript має статичну типізацію, а більшість фреймворків написані на чистому JavaScript, то потрібно якимось чином переводити чистий JavaScript код в код TypeScript, або просто описувати основні типи, що використовуються тією чи іншою функцією в коді фреймворка. Звичайно, в Microsoft передбачили це, тому в TypeScript доступні спеціальні так звані “declaration” файли, тобто файли з об’явленням усіх типів та функцій, класів, що є в JavaScript файлах фреймворка. Розробник може сам писати такі файли, для необхідної бібліотеки, або використати вже написані, їх можна знайти на GitHub чи зкачати, використовуючи Bower, Nuget та ін. Дані файли мають розширення “d.ts”. Щоб зсилатися на код в іншому файлі TypeScript використовується синтаксис із трьома флешами[3], наприклад:

    ///<reference path=””/>

    Для параметра path потрібно задати лише шлях розміщення файла у файловій системі. Завдяки цьому компілятор зможе перевірити, що функція, в яку розробник передає параметри або використовує описана, або описані типи, що вона приймає, тобто таким чином забезпечується правильність написання коду при компіляції.

В даному розділі було описано лише ті особливості, що підтримує TypeScript, яких немає в JavaScript. Те, ж, що підтримується обома мовами не було описано, оскільки не має значення для порівняння цих мов. Звичайно, на момент написання статті, не усе, що доступно в JavaScript, доступно в TypeScript, детальніше можна прочитати на сайті мови. Однак, розробники TypeScript досить активно розширюють можливості своєї мови і додають навіть і деякі реалізації з наступних специфікацій JavaScript. Також в цьому розділі не було описано таку функціональність, як JSX, деякі особливості приведення типів, оператори, не розгорнуто поняття модулів та просторів імен, не розкрито значення функцій та їх можливостей, усі оновлення мови з версій 1.7 та 1.8, проте інформації, що описано в даній статті достатньо для розуміння того, для чого було створено дану мову і розуміння її недоліків та переваг в порівнянні з JavaScript.

Висновок

Було розглянуто основні особливості мови TypeScript. Наведено принцип роботи компілятора, а також наведено спосіб конфігурування параметрів компілятора. Порівняно TypeScript з JavaScript, показані основні можливості, що надає мова для програміста, такі як підтримка асинхронного програмування, статична типізація, створення класів, інтерфейсів, вдосконалена типізація, тобто розробниками мови надано більше типів і т.д.

В результаті, можна з впевненістю сказати, що, оскільки мова JavaScript є однією з найпопулярніших мов в наш час, що використовується майже усюди, то використання TypeScript значно спростить розробку додатків, підвищуючи продуктивність програміста, зменшить кількість часу на розробку та дебагінг коду, покращить тестування коду та його структуризацію. А оскільки дана мова розвивається завдяки співпраці Microsoft та Google, а також спільноти, то розробники будуть і надалі радувати нас гарними нововведеннями.

Література

  1. Документація мови TypeScript – Режим доступу: https://www.typescriptlang.org/docs/tutorial.html
  2. TypeScript. The Definitive Guide – Режим доступу:https://basarat.gitbooks.io/typescript/content/docs/getting-started.html
  3. Dan Maharry. TypeScript  Revealed / Maharry D. –Apress, 2013. – 81 c.