Какие знаешь типы данных TypeScript

Ответ

TypeScript поддерживает все базовые типы JavaScript, а также добавляет дополнительные:

  1. Примитивные типы:

    • number - числа (целые, дробные)
    • string - строки
    • boolean - true/false
    • null и undefined - отдельные типы
  2. Специальные типы TypeScript:

    • any - отключает проверку типов
    • void - отсутствие значения (обычно для функций)
    • never - тип для функций, которые никогда не завершаются
    • unknown - более безопасная альтернатива any
  3. Составные типы:

    • 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 ебать ноль, а тут хоть какой-то порядок.