Typescript 中的 '-?:' 字符的作用 刘志平 2019-07-25 778 阅读1分钟 // # typescript/lib/lib.es5.d.ts /** * Make all properties in T required */ type Required<T> = { [P in keyof T]-?: T[P]; }; typescript 标准库中有如上一段代码,作用是将 T 中所有的属性都变成必需的属性。 '-?:' 字符语法的作用就是这样,标记映射类型的属性为必需。它只能在映射类型中使用,在其他类型中使用会报错,上面的 Required<T> 就是一个映射类型 正常的 interface 接口中,如果属性不使用可选属性,就表示该属性必需了