Khóa TypeScript
keyof
là một từ khóa trong TypeScript được sử dụng để trích xuất loại khóa từ một loại đối tượng.
keyof
với các phím rõ ràng
Khi được sử dụng trên loại đối tượng có khóa rõ ràng, keyof
sẽ tạo loại kết hợp với các khóa đó.
Ví dụ
interface Person {
name: string;
age: number;
}
// `keyof Person` here creates a union type of "name" and "age", other strings will not be allowed
function printPersonProperty(person: Person, property: keyof Person) {
console.log(`Printing person property ${property}: "${person[property]}"`);
}
let person = {
name: "Max",
age: 27
};
printPersonProperty(person, "name"); // Printing person property name: "Max"
Hãy tự mình thử » keyof
có chữ ký chỉ mục
keyof
cũng có thể được sử dụng với chữ ký chỉ mục để trích xuất loại chỉ mục.
type StringMap = { [key: string]: unknown };
// `keyof StringMap` resolves to `string` here
function createStringPair(property: keyof StringMap, value: string): StringMap {
return { [property]: value };
}