微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当我用 Typescript 投射一些东西时,为什么 Prettier 添加了这个分号?

如何解决当我用 Typescript 投射一些东西时,为什么 Prettier 添加了这个分号?

我正在使用 Typescript 和 Prettier,每次我在函数的第一行中投射某些内容时,Prettier 都会将分号作为第一个字符。

为什么?似乎没有必要。我错了吗?

我阅读了 Rationale,但我仍然不明白为什么我们需要将第一个分号放在那里。

更漂亮的 2.2.1 Playground link

--parser typescript
--no-semi

输入:

function example() {
(this as MyType).method() // useless semicolon will be placed here
;(f as any).y = fy // the semicolon here is ok
return f
}

输出

function example() {
  ;(this as MyType).method() // useless semicolon here
  ;(f as any).y = fy // the semicolon here is ok
  return f
}

预期行为:

不能放第一个分号。

我打开了 an issue on the Prettier repo,但他们建议我在这里问。

***更新:

如果我使用更漂亮的认值,我也有问题,请参阅此示例:

更漂亮的 2.2.1 Playground link

--parser typescript

输入:

export function inputSelect(e: MouseEvent): void {
    console.log("Test this")
    (e.target as HTMLInputElement)?.select();
}

输出

export function inputSelect(e: MouseEvent): void {
  console
    .log("Test this")(e.target as HTMLInputElement)
    ?.select();
}

预期行为:

它应该将分号放在 console.log() 的末尾。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。