2016-10-29 6 views
5

これは正しい構文です:複数のconstをJavaScriptで宣言できないのはなぜですか?

let foo, bar;

つまり、なぜこれが

const foo, bar;

間違っていますか?

複数の定数を1つの場所に宣言し、別の場所に定義する方法はありますか?バインドされた宣言以外には、&定義。

+1

は 'JavaScriptでconst'はJavaで' final'ようにされていません - 初期化がなければなりません宣言の一部。 – Pointy

+2

定数が一定であるため定数が一定でなければならない –

+1

初期化がいくつか行われている場合、別の関数(おそらく同じスコープで定義されている)で行い、その結果を 'const'宣言の代入として使用することができます。また、スコープの上部にこれらを事前に宣言する必要はありません。必要な場所に宣言してください。 –

答えて

7

あなたが後でそれらに割り当てることができるので(varまたはletで宣言された)通常の変数は、値なしで宣言することができます。

let foo; // foo has value undefined 
foo = 3; // foo has value 3 

することができますので、あなたは定数と同じことを行うことはできませんあなたが宣言する必要があり、そのため

const foo; // ...? 
foo = 3; // this is not allowed because foo is constant 

をすると同時に、定数に値を割り当てる::「Tは、彼らが宣言された後、その値を変更

const foo = 3; // this works fine 

varまたはletを代わりに使用する点を除き、方法はありません。

0

constには、読み込み専用なので宣言されたときに値を割り当てる必要があります。

+0

'const' **は宣言されたときに値を割り当てなければなりません。他のものは無効なJavaScriptです。 – Frxstrem

7

const宣言も同様に初期化する必要があるためです。これは動作します:

const foo = 1, bar = 2; 
1

することができますが、定数はそうあなたが宣言してそれらに値を割り当てる必要がある

関連する問題