2017-01-22 7 views
0

ES6クラスにどのように静的プロパティ(定数)を割​​り当てることができますか?クラスES6のstatic finalプロパティ

私が達成したいかについての擬似コード:

class MyClass { 

    static run() { 
     // do something 
    } 

    static CONSTANT = { 
     foo: "bar" 
    } 
} 

MyClass.run(); // this works 
console.log(MyClass.CONSTANT); // this sadly not 

私にエラー与える:

Uncaught SyntaxError: Unexpected token = 
+1

を[ 'staticキーワードはclass.'のための静的メソッドを定義する](https://developer.mozilla.org/en-US/ –

+0

'Object.defineProperty(MyClass、" CONSTANT "、{value:{foo:" bar "}})' –

答えて

0

クラスの構文は唯一の方法で定義することができますし。しかし、あなたは外のプロパティを割り当てることができます。

class MyClass {} 
 
MyClass.CONSTANT = { 
 
    foo: "bar" 
 
}; 
 
console.log(MyClass.CONSTANT); // this works

+0

の使用はどうですか?これは定数ではありません。それは再割り当て可能です。 –

+0

@TedBarthさて、それを非列挙型の書き込み不可能なものとして定義してください。定数のようなものはなく、束縛は固定されています。そして、それはあなたが静的と定数の違いによって混乱しているようです。 – Oriol

関連する問題