静态 foo = "bar" 与 MyClass.foo = "bar"
static foo = "bar" vs. MyClass.foo = "bar"
在 ECMAScript 6 中,以下语法有什么区别:
class MyClass {
static foo = "bar"
}
class MyClass {}
MyClass.foo = "bar"
语法错误,但在第一个示例中 foo 无法修改,在第二个示例中可以
第一个示例不是 ES6 的一部分,它是 currently only a proposal,因此可能存在于 Javascript 的未来版本中。
但是,它在功能上与第二个示例相同 - 您可以在 Babel REPL 中尝试查看它们被编译成什么。如果你正在转译你的代码,你可以使用第一种语法,但你需要包含适当的标志(对于 Babel,此代码需要 'stage-1' 标志才能编译)。
在 ECMAScript 6 中,以下语法有什么区别:
class MyClass {
static foo = "bar"
}
class MyClass {}
MyClass.foo = "bar"
语法错误,但在第一个示例中 foo 无法修改,在第二个示例中可以
第一个示例不是 ES6 的一部分,它是 currently only a proposal,因此可能存在于 Javascript 的未来版本中。
但是,它在功能上与第二个示例相同 - 您可以在 Babel REPL 中尝试查看它们被编译成什么。如果你正在转译你的代码,你可以使用第一种语法,但你需要包含适当的标志(对于 Babel,此代码需要 'stage-1' 标志才能编译)。