在 Typescript 上声明类型时前导管道的用途是什么



使用Prettier,我注意到此代码块的格式设置为包含额外的前导管道,请参阅以下示例:

// before Prettier
let foo: {
[k: string]: any
} | boolean;
// after Prettier
const actions:
| {
[k: string]: any;
}
| boolean = true;

请注意 Prettier 在类型声明中添加的管道。

这也可以在一行中声明,并且更漂亮的保留格式而不添加额外的管道:

const actions: { [k: string]: any } | boolean = true;

我的疑问是为什么要添加这个管道?它会在打字稿级别更改任何内容吗?

这纯粹是风格上的,没有功能上的区别。

请考虑以下事项:

type Foo = Bar
| Baz
| Bap

与此相比:

type Foo =
| Bar
| Baz
| Bap

第二个例子要干净得多,很明显,|右侧的三件事是工会的组成部分。

显然,在一行上定义所有内容时,您不会添加前导|

type T = A | B

最新更新