Ответ
TypeScript поддерживает все базовые типы JavaScript, а также добавляет дополнительные:
-
Примитивные типы:
number- числа (целые, дробные)string- строкиboolean- true/falsenullиundefined- отдельные типы
-
Специальные типы TypeScript:
any- отключает проверку типовvoid- отсутствие значения (обычно для функций)never- тип для функций, которые никогда не завершаютсяunknown- более безопасная альтернативаany
-
Составные типы:
Array<T>илиT[]- массивы[T, U]- кортежи (tuples)enum- перечисленияtypeиinterface- для создания собственных типов
Пример:
let age: number = 30;
let name: string = "John";
let isActive: boolean = true;
let scores: number[] = [90, 85, 95];
let user: [string, number] = ["Alice", 25]; // tuple Ответ 18+ 🔞
А, ну вот, смотри, про эти ваши типы в TypeScript. Сидишь такой, пишешь код, а тут тебе — охуенно, блядь, — система типов подъезжает, как мартышлюшка с гранатой: "А ну-ка, дружок, объяви, что у тебя тут за хуйня в переменной лежит!"
Так вот, слушай сюда, не отвлекайся. TypeScript, сука, он как тот самый Герасим из рассказа — немой, но охуенно сильный. Берёт все эти базовые JavaScript-овские типы и говорит: "Муму", то есть number, string, boolean. Цифры, строки, правда/ложь — всё как у людей, блядь.
let age: number = 30; // Всё, пиши, не ссы. Тридцать лет, а не "тридцатка" какая-то.
let name: string = "John"; // Имя, ёпта, а не число пидоров в очереди.
let isActive: boolean = true; // Да или нет, хуле тут думать.
А потом он ещё, этот TypeScript, подкидывает своих, особенных уродов. Вот смотри:
any— это просто пиздец, волнение ебать. Сказалanyи похуй, пихай туда что угодно, хоть кота, хоть реактор. Тип-распиздяй, одним словом.void— это когда функция сделала свои дела и просто, блядь, ушла. Ничего не вернула, чих-пых тебя в сраку.never— это вообще песня. Функция, которая никогда-никогда не закончится. Вечный цикл илиthrow new Error, который накрыл всех медным тазом.unknown— а это умный братанany. Он такой: "О, я не знаю, что тут, чувак. Но ты, блядь, прежде чем использовать, проверь или уточни — а то получишь по ебалу компилятором".
Ну и конечно, составные типы, без них нихуя. Как без водки застолье.
- Массивы:
scores: number[] = [90, 85, 95];. Всё, туда только цифры, ни одной строки "сука" не проскочит. - Кортежи (tuples):
let user: [string, number] = ["Alice", 25];. Это типа строгий порядок: сначала имя, потом возраст. Попробуй по-другому — получишь, блядь, "в рот меня чих-пых" от компилятора. enum,type,interface— это уже для красоты, чтобы свою вселенную типов нарисовать. Как Левитан пейзажи, только изstring-ов даnumber-ов.
Короче, суть в чём: ты сначала объявляешь, что в твоей переменной будет, а потом TypeScript, как хитрая жопа, стоит над душой и смотрит, чтобы ты не пытался, например, строку с числом сложить или в массив чисел кота сука собака запихнуть. Удобно, ёпта. Сначала бесит, как манда с ушами, а потом понимаешь — доверия к голому JavaScript ебать ноль, а тут хоть какой-то порядок.