在 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