JavaScript був задуманий як вузькоспеціалізована мова програмування з обмеженими можливостями для внесення до сторінок сайтів створених на HTML та CSS певної динаміки. На той момент скрипти чи програми, написані цією мовою, були короткими та відносно простими. Але час іде, скрипти стають дедалі складнішими. Завдяки Node.js JavaScript взагалі перетворився на мову загального призначення.

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

Основна проблема JavaScript це складність виявлення помилок, в основному, через нестрогу типізацію. Ця проблема частково вирішується, якщо використовувати юніт тести, наприклад, Jasmine. Але все одно програмістам доводиться витрачати багато годин на ручну перевірку коду, щоб переконатися, що скрипт працює правильно.

Архітектура мови породила системні проблеми, з якими веб-девелопери повинні мати справу щодня і витрачати на них багато часу. Спроба усунути ці архітектурні особливості і призвела до TypeScript. Він, в першу чергу, додає підтримку типів, а сучасний редактор, який його підтримує, може зробити цю перевірку автоматичною та одразу інформувати програміста та можливі проблеми, наприклад, якщо функція повинна повертати стоку, а фактично повертає число. Таким редактором, наприклад, може бути Visual Studio Code, розроблений компанією Microsoft, як і TypeScript.

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

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

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься.