Middle+
type Foo = { a: string; b: number; c: null; d: boolean; } // Калидҳои Foo type FooKeys = keyof Foo // Чӣ гуна навъи навро дар асоси FooKeys, аммо бе арзишҳои b ва d эълон кардан мумкин аст? type FooKeysWithoutBD
sobes.tech AI
Ҷавоб аз AI
Чтобы объявить тип FooKeysWithoutBD, который содержит ключи типа Foo, но без значений b и d, можно использовать утилиту TypeScript Exclude.
// Исходный тип
type Foo = {
a: string;
b: number;
c: null;
d: boolean;
}
// Все ключи Foo
type FooKeys = keyof Foo; // 'a' | 'b' | 'c' | 'd'
// Исключаем 'b' и 'd'
type FooKeysWithoutBD = Exclude<FooKeys, 'b' | 'd'>; // 'a' | 'c'
Exclude<T, U> создаёт новый тип, исключая из T все типы, которые совместимы с U. В данном случае из ключей Foo исключаются 'b' и 'd'.