2016-10-29 21 views
5

To jest poprawna składnia:Dlaczego nie mogę zadeklarować wielu stałych w JavaScript?

let foo, bar;

To jest błędne

const foo, bar;

Dlaczego tak jest?

Czy istnieje sposób, aby zadeklarować liczbę stałych w jednym miejscu i zdefiniować je w innym? Oprócz definicji deklaracji związanej z definicją: &.

+1

'const' w JavaScript nie podoba' final' w Javie - inicjalizacja musi być część deklaracji. – Pointy

+2

stała musi być stała, ponieważ jest stała –

+1

Jeśli jest jakaś inicjalizacja do zrobienia, możesz chcieć zrobić to w oddzielnej funkcji, być może zdefiniowanej w tym samym zasięgu i użyć jej wyniku jako przydziału deklaracji "const". Ponadto nie powinno być potrzeby uprzedniego zadeklarowania ich na początku zakresu, jeżeli takie były zamiary; zadeklaruj je tam, gdzie ich potrzebujesz. –

Odpowiedz

7

Zwykła zmienna (zadeklarowanego przy var lub let) mogą zostać uznane bez wartości, gdyż można przypisać do nich później:

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

Jednak nie można zrobić to samo ze stałymi, ponieważ można Dlatego

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

, trzeba zadeklarować i przypisać wartość stała w tym samym czasie:: „t zmienić swoją wartość po zostali uznani

const foo = 3; // this works fine 

Nie da się tego obejść, z wyjątkiem korzystania z var lub let.

0

const należy przypisać wartość, gdy jest zadeklarowana, ponieważ powoduje, że jest ona tylko do odczytu.

+0

'const' ** musi ** mieć przypisaną wartość, gdy zostanie zadeklarowana, cokolwiek innego jest nieprawidłowym JavaScriptem. – Frxstrem

7

Ponieważ deklaracja const musi również zostać zainicjowana. To będzie działać:

const foo = 1, bar = 2; 
1

Można, ale jest stała więc trzeba przypisać im wartość w deklaracji

Powiązane problemy