Typescript 2 中是否需要分号?

Gra*_*ham 7 typescript

一段时间以来,我一直在寻找这个问题的答案,但收到的消息褒贬不一。我知道分号在 JavaScript 中是必需的,因为自动分号插入 (ASI),但是 TypeScript 有相同的限制吗?

我认为它不会,因为它会转换为 JavaScript,并且很可能会在 ASI 会导致问题的地方为您插入一个分号。但我想确定。

kin*_*aro 11

TypeScript 遵循与 JavaScript 相同的 ASI 规则。两种语言在技术上都不需要分号,除了一些罕见的特定情况。无论您采用何种方法,最好都接受 ASI 教育。

值得注意的是,ASI 也适用于接口和对象类型主体内部:

// valid
interface Person {
  name: string;
  age: number;
}

// also valid
interface Person {
  name: string
  age: number
}

// not valid
interface Person { name: string age: number }
Run Code Online (Sandbox Code Playgroud)