Якщо ви заціквилися вивченням TypeScript, то ви вже повинні добре знати JS. Якщо знання JS у вас ще невпевненні, то вивчення TS буде анальною пробкою помилкою, так як це додаткова гівно прокладка, яка робить і так не просту мову, ще більш складною.
Якщо ви ще не закрили сторінку, то я продовжу. TypeScript це додаткова шляпа прокладка, як синтактичний цукор, доповнює мову JS. Хоча деякі ніякі сучасні браузери роблять випадки в сторону підтримки нативного TS в браузері, але покищо для виконня TS потрібен компілятор, це може бути нативним runtime ts, або vite webpack/rollup.. По суті, все що робить TS, по більшій мірі, псує вам життя додає статичну типізацію до динамічного JS, але в деяких випадках TS неможе розширювати JS. Хоча я зараз пишу дуже абстрактно, я хочу донести думку, що TS це не окрема мова програмування, як вважають розробники з відхиленнями дехто вважає, а лише прокладка, яка робить для деяких компаній тільки EPAM та Microsoft JS більш зручним.
Для того щоб зрозуміти різницю, або що додає TS до JS, нічого закривай сторінку треба розуміти як працює типізація в JS - її просто нема. Будь якій змінній ви можете надати будь які данні. Тобто JS в своїй основі динамічний, і це його прикраса. Тому що вам не потрібно, постійно описувати моделі данних, зазначати типи данних, і так далі. Будь що ви можете протипувати, або змінити. По факту TS створенний для того, щоб це все у вас забрати з мови, а також додати гівно яке тянеться з фортрана 1752 року статичну типізацію.
Ви можете запитати, так а навіщо це використовувати, якщо це додаткові граблі, які не спрощують роботу, а навпаки її ускладнюють. Тут є 2 причини. Поперше TypeScript створила блядота Microsoft, компанія яка добре славиться, наймом індусів по 1 баксу за годину, приковуванням їх до батарей наручниками, і биттям цих індусів палками наймом кваліфікованих високооплачуваємих працівників. В такому доброму робочому коллективі, особливо коли вони всі кричать та плачуть, дуже складно відстежувати баги, та роботу. В принципі відстежування багів, та нормальна робота, це не про Майкрософт. Але для того, щоб хоч якось наладити роботу вчорашніх таксистів та прибиральників в IT коллективі - був придуманий TS. По свої суті TS це і є наручники, та палка, і сказати по правді мені дивно бачити багато JS програмістів.
В цілому TS допомагає бездушним конвеєрам великим командам наймати дибілів спрощувати кількість помилок, які ті допускають не мая чітких наручників і палки в жопі рамок. Також TS може допомагати структурувати модулі та їх данні. Особиливо TS може бути користним, якщо у вас працює дебіл програміст PHP осуждаю, який може вам слати всяку хуйню некорректні данні.
По суті TS додасть вам кучу непотрібної роботи можливість працювати в бездуших великих компаніях, з дебілами не кваліфікованими працівниками, і ця робота буде такою ж нестерпною простіше ніж без TS.
Розберомо базовий приклад:
// TS
const greet = (name: string): string => {
return `Hello, ${name}!`;
};
// Compiled JS
const greet = (name) => {
return `Hello, ${name}!`;
};
Як ви бачите TS додав непотрібні граблі додаткову властивість, яка визначає типи данних. По суті це являється основою, но чому будується весь TS тобто не робить ніхера з вихідним кодом.
Це початок курса по TS, і ми розібрали з вами теорію, далі будуть тільки приклади і практика.