static foo =" bar"与MyClass.foo =" bar"

时间:2016-05-11 08:25:12

标签: javascript class ecmascript-6 static-members

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

class MyClass {
  static foo = "bar"
}


class MyClass {}

MyClass.foo = "bar"

2 个答案:

答案 0 :(得分:2)

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

但是,它在功能上与第二个示例完全相同 - 您可以在Babel REPL中尝试查看它们编译到的内容。如果您正在编译代码,则可以使用第一种语法,但是您需要包含适当的标志(对于Babel,此代码需要'stage-1'标志进行编译)。

答案 1 :(得分:-1)

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