【问题标题】:static foo = "bar" vs. MyClass.foo = "bar"静态 foo = "bar" 与 MyClass.foo = "bar"
【发布时间】:2016-05-11 08:25:11
【问题描述】:

在 ECMAScript 6 中,以下语法有什么区别:

class MyClass {
  static foo = "bar"
}


class MyClass {}

MyClass.foo = "bar"

【问题讨论】:

  • 第一个系统税无效
  • 第一个不是ES6。它是一个Stage 1 Proposal(你也有一个无效的=)。但是在那个提案中,这两个代码块之间没有区别

标签: javascript class ecmascript-6 static-members


【解决方案1】:

第一个示例不是 ES6 的一部分,它是 currently only a proposal,因此可能存在于未来的 Javascript 版本中。

但是,它在功能上与第二个示例相同 - 您可以在 Babel REPL 中尝试它,看看它们被编译成什么。如果你在编译你的代码,你可以使用第一种语法,但是你需要包含适当的标志(对于 Babel,这个代码需要 'stage-1' 标志来编译)。

【讨论】:

    【解决方案2】:

    语法错误,但在第一个例子中 foo 不能被修改,在第二个例子中可以

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-20
      • 1970-01-01
      • 1970-01-01
      • 2022-11-04
      • 2017-07-25
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      相关资源
      最近更新 更多