Если обратиться к статистике, то выяснится, что популярность Angular 2, использующего TypeScript вместо чистого JS, начала практически вертикальный взлет.
Прежде чем я выскажу свое мнение, посмотрите на эту картинку — она наглядно демонстрирует вам суть различий между этими версиями ECMAScript:
Из нее можно извлечь следующие выводы:
- Если вы знаете TypeScript — считайте, что вы знаете все три компонента, изображенных на картинке.
- По сути, вы и пишете на JavaScript, просто лучше задокументированном.
- TypeScript проще изучать.
Что касается последнего пункта — обратите внимание, как часто помогают разработчикам с вопросами по TS.
TypeScript в сравнении с JavaScript
Классический вопрос «WAT» вызывают все странности поведения JavaScript:
[] + []; // JavaScript вернет "", TypeScript --- ошибку
//
// Все, что по факту бессмысленно, в JavaScript не возвращает ошибку (это очень усложняет отладку).
// А вот TypeScript вернет ошибку времени выполнения.
//
{} + []; // JS : 0, TS Error
[] + {}; // JS : "[object Object]", TS Error
{} + {}; // JS : NaN, TS Error
"hello" - 1; // JS : NaN, TS Error
Так что разница в том, что в JS вам нужно помнить про все эти странности поведения, чтобы понять, что творится в коде, а TS сразу предупредит вас ошибкой.
Я видел доклад с названием «В современном JavaScript все еще живут драконы». С утверждением в заголовке я согласен, а вот в TypeScript многие из этих «драконов» были заменены ошибками выполнения — нужда на них охотиться пропала.
A lot of the stuff about dragons in Modern #JavaScript are actual #TypeScript compiler errors. Eg TDZ ?#NDCSydney pic.twitter.com/oYIDK0pnO9
— basarat (@basarat) August 3, 2016
Использовать TypeScript — это как под руководством Андерса учиться правильно писать на JavaScript. Вот вам еще и бесплатная книжка — теперь у вас исчез последний повод отнекиваться от изучения TypeScript 🙂
Делитесь своим мнением по теме в комментариях! Кстати, если вы ищете другие популярные востребованные технологии, которые стоит изучить, то посмотрите в нашу подборку, посвященную этому вопросу.
Источник: Meduim
Наши тесты для вас:
— Тест на знание сленга веб-разработчиков.
— Кто вы во вселенной Звёздных Войн?
— А вы точно программист?