Javascript 是否可以使用typescript映射类型生成接口的非函数属性类型?
所以我在看Typescript的映射类型。是否可以创建一个接口来封装另一个从原始类型中删除函数的类型?例如: 接口人{ 名称:string, 年龄:数字,, 发言:无效, } 类型数据=? constdataperson:Data={ 姓名:约翰, 年龄:20 //删除Speak,因为它是一个函数 }; 谢谢Javascript 是否可以使用typescript映射类型生成接口的非函数属性类型?,javascript,typescript,interface,mapped-types,Javascript,Typescript,Interface,Mapped Types,所以我在看Typescript的映射类型。是否可以创建一个接口来封装另一个从原始类型中删除函数的类型?例如: 接口人{ 名称:string, 年龄:数字,, 发言:无效, } 类型数据=? constdataperson:Data={ 姓名:约翰, 年龄:20 //删除Speak,因为它是一个函数 }; 谢谢 { [K in T]: T[K] extends Function ? undefined : T[K] } 您可以使用映射的条件类型进行此操作。这来自typescript文档,适用
{ [K in T]: T[K] extends Function ? undefined : T[K] }
您可以使用映射的条件类型进行此操作。这来自typescript文档,适用于: 类型NonFunctionPropertyNames={[K in keyof T]:T[K]扩展函数?never:K}[keyof T]; 类型数据=拾取;
谢谢大家 这对我来说不太管用;考虑使用undefined而不是never将意味着属性仍然需要是对象的一部分,但它需要是未定义的值