在 Typescript 上声明类型时,前导管道的用途是什么
What's the propose of a leading pipe when declaring a type on Typescript
使用 Prettiefier 我注意到这个代码块被格式化为包含一个额外的前导管道,请参见以下示例:
// before Prettier
let foo: {
[k: string]: any
} | boolean;
// after Prettier
const actions:
| {
[k: string]: any;
}
| boolean = true;
注意 Prettier 在类型声明中添加的管道。
这也可以在一行中声明,prettier 保持格式而不添加额外的管道:
const actions: { [k: string]: any } | boolean = true;
疑惑为什么要加这个管道?它会在 Typescript 级别改变什么吗?
纯粹是风格上的,没有功能上的区别。
考虑以下因素:
type Foo = Bar
| Baz
| Bap
与此相比:
type Foo =
| Bar
| Baz
| Bap
第二个例子更清晰,|
右边的三个东西是并集的组成部分。
显然,在一行中定义所有内容时,您不会添加前导 |
:
type T = A | B
使用 Prettiefier 我注意到这个代码块被格式化为包含一个额外的前导管道,请参见以下示例:
// before Prettier
let foo: {
[k: string]: any
} | boolean;
// after Prettier
const actions:
| {
[k: string]: any;
}
| boolean = true;
注意 Prettier 在类型声明中添加的管道。
这也可以在一行中声明,prettier 保持格式而不添加额外的管道:
const actions: { [k: string]: any } | boolean = true;
疑惑为什么要加这个管道?它会在 Typescript 级别改变什么吗?
纯粹是风格上的,没有功能上的区别。
考虑以下因素:
type Foo = Bar
| Baz
| Bap
与此相比:
type Foo =
| Bar
| Baz
| Bap
第二个例子更清晰,|
右边的三个东西是并集的组成部分。
显然,在一行中定义所有内容时,您不会添加前导 |
:
type T = A | B