0
我很困惑,在不同的項目中,我有時會寫爲什麼靜止無功語法有時拋出一個錯誤,有時不
class Foo {
static BAR = {
foobar: 'baz'
}
}
而且有時這不能編譯,而是我必須寫
class Foo {
static get BAR() {
return {
foobar: 'baz'
}
}
}
我真的不喜歡第二種語法,第一種語法要簡潔得多。問題是第一種語法在一個項目中工作,在另一個項目中它引發了語法錯誤,我不知道爲什麼。
它似乎使用不同的巴別克預設有一個效果。不同的ECMAScript版本對此有不同的定義嗎?
你的兩個定義不這樣做完全是一回事。在第一個中,你可以做'Foo.BAR.foobar ='whatever'',但在第二個,它只是一個getter,它不存儲你設置的值。 – jfriend00
第一個片段使用[Babel插件](https://babeljs.io/docs/plugins/transform-class-properties/)。這不是任何標準的一部分。 – 4castle