Комментарии 4

Быстрая компиляция — это скучно. Давайте лучше придумаем максимальное короткий код, который гарантированно повесит компилятор. cevek вот придумал такой, что можно в 1 твит уместить:


Спасибо за статью!


Очень хорошо показано когда лучше использовать interface. Однако, зачем тогда использовать type — осталось не ясным.


Благодаря подсказкам уменьшил время Total time компиляции на 15% в проекте.

Однако, зачем тогда использовать type — осталось не ясным.

Например, чтобы делать алиасы:


// Например, алиас на объединение каких-то типов.
type Easing = "ease-in" | "ease-out" | "ease-in-out";

// Или какой-то тип, который составляется из других типов
type KeysOfType<T, P> = {
  [K in keyof T]: T[K] extends P ? K : never;
}[keyof T];
type PropertiesOfType<T, P> = Pick<T, KeysOfType<T, P>>;

Я предлагаю вынести описание типов из сигнатур в схемы в формате GraphQL, а в сигнатурах указывать ссылку на контекст схемы с описанием типов. Таким образом мы сможем загружать все описания как данные и даже конструировать их. Точкой входа при этом будет неймспейс класса или функции внутри класса. Но это мое предложение к разработчикам TS которое вряд-ли будет услышано.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Информация

Дата основания
Местоположение
Россия
Сайт
team.mail.ru
Численность
5 001–10 000 человек
Дата регистрации

Блог на Хабре