Open serendipityApe opened 2 years ago
题目 implement Required 例子
题目 implement Required
例子
与上题Partial 相反,讲所有可选属性改为必选
// all properties are optional type Foo = { a?: string b?: number c?: boolean } const a: MyRequired<Foo> = {} // Error const b: MyRequired<Foo> = { a: 'BFE.dev' } // Error const c: MyRequired<Foo> = { b: 123 } // Error const d: MyRequired<Foo> = { b: 123, c: true } // Error const e: MyRequired<Foo> = { a: 'BFE.dev', b: 123, c: true } // valid
答案 type MyRequired = { //-? 将可选属性中的?移除,变为必要属性 [P in keyof T] -? : T[P]; } 补充 可能你会发现ts很多奇奇怪怪的符号,都不认识,而且百度还搜不到。写这篇博客的时候我找到了一篇总结的不错的博客,这里我就不自己总结了。 细数 TS 中那些奇怪的符号
答案 type MyRequired = { //-? 将可选属性中的?移除,变为必要属性 [P in keyof T] -? : T[P]; }
补充 可能你会发现ts很多奇奇怪怪的符号,都不认识,而且百度还搜不到。写这篇博客的时候我找到了一篇总结的不错的博客,这里我就不自己总结了。 细数 TS 中那些奇怪的符号
与上题Partial 相反,讲所有可选属性改为必选