代码之家  ›  专栏  ›  技术社区  ›  Coderer

TypeScript允许属性之间不带逗号的对象文字吗?

  •  0
  • Coderer  · 技术社区  · 9 年前

    the documentation for ng-bootstrap 并注意到 one of their examples 在对象文字定义中省略逗号。(我无法直接链接到Plunker中的文件,但这是第30行。) src/app.ts .)

    @NgModule({
      imports: [BrowserModule, FormsModule, ReactiveFormsModule, JsonpModule, NgbModule.forRoot()], 
      declarations: [App, NgbdDropdownManual]
      bootstrap: [App]
    }) 
    export class AppModule {}
    

    这让我开始使用Plunk,结果是可以删除对象声明中的所有逗号,代码仍在编译和运行——尝试添加 console.log({a:1 b:2}) 明白我的意思。

    这在所有TypeScript中都得到了正式支持吗?或者这是这个特定示例中代码编译和运行方式的产物吗?

    1 回复  |  直到 9 年前
        1
  •  3
  •   toskv    9 年前

    这很可能是因为传输时tsc会插入丢失的标点符号。

    例如

    let x = {
      a: 2 b: 4
    }
    

    编译为:

    var x = {
       a: 2, b: 4
    };
    

    同时发出编译警告,告诉您 是预期的。

    虽然这似乎在起作用,但我不会依赖它,因为它似乎只不过是意外的后果。

    here .

    推荐文章