Почему я не могу объявить несколько констант в JavaScript?

Это правильный синтаксис:

let foo, bar;

Это неверно

const foo, bar;

Почему это?

И есть ли способ объявить несколько констант в одном месте и определить их в другом? Помимо связанного объявления и определения.

Ответ 1

Поскольку объявление const должно также быть инициализировано. Это будет работать:

const foo = 1, bar = 2;

Ответ 2

Нормальная переменная (объявленная с помощью 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

Поэтому вы должны одновременно объявить и присвоить значение константе. Это можно сделать несколькими константами одновременно:

const foo = 3,
      bar = 8; // this works fine, foo and bar are both constants

Нет способа объявить const в одном месте и назначить его в другом. Вместо этого вы должны использовать var или let.

Ответ 3

Вы можете, но это константа, поэтому вам нужно присвоить им значение в объявлении

Ответ 4

const должно быть присвоено значение, когда оно объявлено, поскольку оно делает доступным только для чтения.

Ответ 5

Значения const не могут быть изменены после назначения. Вы пытаетесь объявить это сейчас, чтобы изменить его позже, что не будет работать с const. Решение этой проблемы состоит в том, что вы объявляете это с помощью let или var.