在 TypeScript 中有效地使用 keyof 和 typeof 来表示类型
// 假设有一个简单的对象,包含一些属性
const exampleObject = {
prop1: 'value1',
prop2: 'value2',
prop3: 'value3'
};
// 使用 keyof 获取对象的键
type ExampleObjectKeys = keyof typeof exampleObject;
// 使用 typeof 获取对象属性的类型
type ExampleObjectValues = typeof exampleObject[keyof typeof exampleObject];
// 现在 ExampleObjectKeys 是 "prop1" | "prop2" | "prop3"
// 而 ExampleObjectValues 是 string
// 使用这些类型来创建一个函数,该函数接受对象的键作为参数并返回对应的值
function getValueByKey(key: ExampleObjectKeys): ExampleObjectValues {
return exampleObject[key];
}
// 使用该函数
const value1 = getValueByKey('prop1'); // 返回 'value1'
const value2 = getValueByKey('prop2'); // 返回 'value2'
const value3 = getValueByKey('prop3'); // 返回 'value3'
这个例子展示了如何使用 TypeScript 的 keyof
和 typeof
运算符来获取对象的键和值的类型,并创建一个函数来根据键获取值。这种类型推断的方法可以提高代码的类型安全性和可维护性。
评论已关闭