TypeScript中如何指定函数参数为接口的键之一?
在TypeScript中用接口的键作为函数参数类型
当然可以实现,直接用keyof操作符就行——它不仅支持通过typeof获取对象的键类型,也能直接作用于接口,返回接口所有键名组成的联合类型,完全不用硬编码键名列表。
修改后的代码如下:
export interface MyInterface { option1: boolean; option2: boolean; option3: boolean; option4: boolean; } function myFunction(arg: keyof MyInterface): void { console.log("arg:", arg); }
这样定义后,arg的类型会自动对应MyInterface的所有键(等价于'option1' | 'option2' | 'option3' | 'option4'),后续如果接口里新增或删除属性,函数的参数类型会自动同步更新,不用手动修改联合类型,能避免维护遗漏的问题。
内容的提问来源于stack exchange,提问作者dB'
相关产品推荐
相关产品推荐

