TypeScript Keyof
keyof
це ключове слово в TypeScript, яке використовується для вилучення типу ключа з типу об’єкта.
keyof
з явними ключами
Якщо використовувати для типу об’єкта з явними ключами, keyof
створює тип об’єднання з цими ключами.
Приклад
interface Person {
name: string;
age: number;
}
// `keyof Person` тут створюється тип об’єднання "name" та "age", інші рядки не будуть дозволені
function printPersonProperty(person: Person, property: keyof Person) {
console.log(`Printing person property ${property}: "${person[property]}"`);
}
let person = {
name: "Max",
age: 27
};
printPersonProperty(person, "name"); // Друк імені властивості особи: "Max"
Спробуйте самі »
keyof
з індексними підписами
keyof
також можна використовувати з підписами індексів для вилучення типу індексів.
type StringMap = { [key: string]: unknown };
// `keyof StringMap` тут перетворюється на `string`
function createStringPair(property: keyof StringMap, value: string): StringMap {
return { [property]: value };
}