Operator keyof
przyjmuje interfejs lub typ i zwraca znakowy lub numeryczny zbiór kluczy, który można następnie wykorzystać jako typ.
type ExampleType = { name: string, age: number } type KeysOfExampleType = keyof ExampleType // "name" | "age" type TypeWithSameKeysAsExample = { [key in keyof ExampleType]: string } const obj: {value: KeysOfExampleType}: { value: "something" // Type 'something' is not assignable to type 'keyof ExampleType`` } const obj2: TypeWithSameKeysAsExample = {} // Type '{}' is missing the following properties from type 'TypeWithSameKeysAsExample': name, age