Трохи про TypeScript, бо я десь 10 років тому зіскочив з JS, то тут, то там щось на ньому робив, але до TS руки нормально не доходили. А зараз от є нагода пописати на ньому в комерційних проєктах і розібратися, що воно таке.
Вцілому мова норм, не те щоб прям сильно далеко пішла від JS, але з типами реально легше рефакторити. Хоча коли починається викрутасне програмування типами, то вже напрягає, бо і так головняка хватає на проєкті. Для простого застосування, типу описати дані і покрити input/ouput функцій, бажано без женеріків — норм.
Інференс у TS класний, руками майже не приходиться кастувати, далеко не всі системи типів так вміють.
Прям якихось мінусів не бачу, більше хотілки. Хотілось б щоб TS став не просто надбудовою над JS, а прям норм мовою з нормальною стандартною бібліотекою — колекції, перетворення даних, дати, щоб не нести купу бібліотек типу Lodash чи Moment, а було з коробки, нормально продумано і стабільно. Дані — це основа, і якби з ними було зручніше працювати, маючи хорошу стандартну бібліотеку — була б красота.
В контексті розробки на React — треба імутабельні структури, бо реакт побудований під цю модель, і потуги натягнути його на JS створюють тільки біль і більше роботи. Існує купа бібліотек шоб подружити імутабельний реакт з мутабельним JS, це тільки підверджує несумісніть ідеї та застосування яке маємо по факту. Імутабельність добре клеїться з роботою з даними, тому тут тіки плюси. Або викинути реакт, але це вже інша тема для обговорення)
UPD: з мінусів це...
- тулінг навколо TS, те що часто редактор не підтягує зміни (при переключенні бренчів у гіті) і показує неправдиву інформацію, приходиться руками інвалідувати кеш ts серверу
- час компіляції — подивимось чи переписування на Go дасть щось на практиці