У нас вы можете посмотреть бесплатно Exclude⟨UnionType, ExcludedMembers⟩ — вспомогательный тип в TypeScript. или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Что такое Exclude⟨UnionType, ExcludedMembers⟩ в TypeScript? Exclude⟨UnionType, ExcludedMembers⟩ — это вспомогательный тип TypeScript, который удаляет определённые члены из объединенного типа. Проще говоря: Он принимает объединенный тип и отфильтровывает ненужные члены. Основная идея Концептуально: Exclude⟨UnionType, ExcludedMembers⟩ означает: UnionType минус ExcludedMembers Простой пример type Status = "success" | "error" | "loading"; type FinalStatus = Exclude⟨Status, "loading"⟩; // "success" | "error" Здесь: "loading" удаляется всё остальное остаётся Несколько исключенных членов type Result = "ok" | "fail" | "pending" | "отменено"; type DoneResult = Exclude⟨Result, "ожидание" | "отменено"⟩; // "ок" | "сбой" Очень распространенные варианты использования 1. Сужение допустимых значений type HttpMethod = "GET" | "POST" | "PUT" | "DELETE"; type ReadOnlyMethod = Exclude⟨HttpMethod, "POST" | "PUT" | "DELETE"⟩; // "GET" 2. Удаление значений null или undefined (ручная версия) type MaybeNumber = number | null | undefined; type SafeNumber = Exclude⟨MaybeNumber, null | undefined⟩; // число Именно так работает внутренний механизм NonNullable⟨Type⟩. 3. Флаги функций или разрешения type Role = "admin" | "редактор" | "просмотрщик"; type NonAdminRole = Exclude⟨Role, "admin"⟩; // "редактор" | "просмотрщик" Как работает Exclude внутри (ментальная модель) Можно представить это так: type Exclude⟨T, U⟩ = T extends U ? never : T; Пояснение: TypeScript проверяет каждый член T Если он присваиваем U, он становится never В противном случае он остается never исчезает из объединений Exclude против Omit Они связаны, но отличаются: Exclude⟨UnionType, Members⟩ → работает с типами объединений Omit⟨ObjectType, Keys⟩ → работает со свойствами объектов Пример: Exclude⟨"a" | "b" | "c", "b"⟩ // "a" | "c" Omit⟨{ a: 1; b: 2; c: 3 }, "b"⟩ // { a: 1; c: 3 } Важная информация 1. Исключаемые элементы не обязательно должны существовать type X = Exclude⟨"a" | "b", "c"⟩; // "a" | "b" Удаление того, чего нет, ничего не меняет. 2. Работает только с объединенными типами Exclude предназначен для объединений, а не для объектов или примитивов. Когда использовать Exclude⟨UnionType, ExcludedMembers⟩ Используйте его, когда: Вы хотите удалить определенные значения из объединения Вы уточняете разрешенные параметры Вы создаете более строгие API Вы работаете с условными типами Избегайте его, когда: Вы хотите удалить свойства объекта (используйте Omit) Вам необходима фильтрация во время выполнения (это только на уровне типов) Краткое описание: Exclude⟨UnionType, ExcludedMembers⟩ удаляет определенные члены из типа объединения.