【问题标题】:What's the propose of a leading pipe when declaring a type on Typescript在 Typescript 上声明类型时泄漏管道的目的是什么
【发布时间】:2020-04-05 17:10:07
【问题描述】:

使用 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 级别有什么改变吗?

【问题讨论】:

  • 这可能是为了更容易地添加和删除替换。此外,看到每个 | 在其自己的缩进行后跟类型会使逻辑一目了然
  • 它只是更好的语法。在函数式语言中非常流行。如果有|作为第一个或没有,它是中立的,

标签: javascript typescript prettier


【解决方案1】:

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

考虑以下几点:

type Foo = Bar
  | Baz
  | Bap

与此相比:

type Foo =
  | Bar
  | Baz
  | Bap

第二个例子干净了很多,很明显|s右边的三个东西就是联合体的组成部分。

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

type T = A | B

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-28
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    • 2015-11-08
    • 2019-11-24
    相关资源
    最近更新 更多