在TypeScript中,`-?`(破折号问号)和`-readonly`(破折号只读)语法分别代表什么意思?

15

大家好。

我刚接触 TypeScript,看到 @types/prop-types 包中的 '-?' 语法。

例如:

export type ValidationMap<T> = { [K in keyof T]-?: Validator<T[K]> };

' -?'的意思是什么?
我尽力通过谷歌搜索了解,但是没有成功。
谢谢。

2
似乎不是新手问题。你正在查看一个包内部。为什么贬低自己呢? - Bhojendra Rauniyar
1个回答

18
同态映射类型将原始类型字段的可选性复制到映射类型字段中。 -? 是用于明确从生成的映射类型中移除任何可选修饰符的语法。
类似地,-readonly 移除了“只读性”
您可以在这里阅读更多详细信息。

3
@Park 欢迎来到 Stack Overflow! 如果这个回答是正确的,你应该把它设为已接受的答案:https://stackoverflow.com/help/someone-answers。 - Fabian Lauer
1
我已经寻找了这样做的方法很久了! - Ramon Balthazar
直到2020年底,手册仍未记录此语法,除了2.8版本说明中的这个简短描述。目前有一个已公开的问题,需要将相关文档放置在正确的位置。 - Coderer
@Coderer 新的文档确实有所改进,但还有很大的提升空间。 - Titian Cernicova-Dragomir
既然你在这里,你有没有看到我的另一个问题?那就是我提出这个问题的原因。 - Coderer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接