2016-05-11 10 views
0

、次の構文の違いは何である対= "バー":静的fooのMyClass.fooのECMAScript 6では= "バー"

class MyClass { 
    static foo = "bar" 
} 


class MyClass {} 

MyClass.foo = "bar" 
+1

最初のsystaxは無効です –

+2

最初のものはES6ではありません。それは[Stage 1 Proposal](https://github.com/jeffmo/es-class-fields-and-static-properties)です(最初のセクションでは '='も無効です)。しかし、その提案では、2つのコードブロックの間に違いはありません – CodingIntrigue

答えて

2

最初の例はES6の一部ではないため、currently only a proposalです.Javascriptの将来のバージョンに存在する可能性があります。

しかし、機能的には2番目の例と同じです。Babel REPLでコンパイルされた内容を試すことができます。コードを翻訳する場合は最初の構文を使用できますが、適切なフラグを含める必要があります(Babelの場合、このコードは 'stage-1'フラグをコンパイルする必要があります)。

-1

構文が間違っています、最初の例ではfooを変更することはできません。

+0

それは変更することができます。 'MyClass.foo =" updated ";' – CodingIntrigue

関連する問題