我编写了以下 TypeScript 代码:
type FeatureFlagConfig = { enabled: false }
| {
enabled: true;
key: string;
};
Run Code Online (Sandbox Code Playgroud)
然后,在 VSCode 中保存后,它会自动格式化为:
type FeatureFlagConfig =
| { enabled: false }
| {
enabled: true;
key: string;
};
Run Code Online (Sandbox Code Playgroud)
这里有趣的是联合文字的语法| a | b而不是a | b. 添加首字母|(竖线)字符看起来像是损坏的代码,但显然是 linter 所喜欢的。为什么?这是否专门用于格式化目的,以便每个工会成员各占一行?另外,这个TS有效吗?TS 规范没有提到它: https: //github.com/Microsoft/TypeScript/blob/master/doc/spec.md#386-union-type-literals
尽管规范中没有提及此语法,但 Typescript 确实支持它: https: //github.com/microsoft/TypeScript/issues/12071
可以选择提供前导|(或&)字符,而不是仅使用这些字符来分隔类型并集/交集中的选项。唯一的目的是为代码格式提供更大的灵活性。此语法与其他语言(例如 Flow、F#)共享,并在“TypeScript 2.1.3,2016 年 11 月 28 日社区”中添加。
| 归档时间: |
|
| 查看次数: |
1819 次 |
| 最近记录: |