Объявите переменную const в javascript без инициализации - PullRequest
0 голосов
/ 23 января 2020

В javascript, насколько я понимаю, мы можем объявить переменные с ключевыми словами let и var и присвоить им значение позже.

var a;
a = 5;

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

const a;
Uncaught SyntaxError: Missing initializer in const declaration

Я понимаю, что у моего вопроса есть базовое противоречие c, поскольку для хранения неизменяемых переменных используются ключевые слова const. Таким образом, хорошая практика кодирования может потребовать инициализации при объявлении.

Однако я хочу сохранить глобальное значение в переменной const, которая выбирается API. Итак, мне было интересно, есть ли способ присвоить значение предварительно объявленной константной переменной в javascript?

Ответы [ 4 ]

1 голос
/ 23 января 2020

const относится к переменной, а не к значению. Вы должны инициализировать их, потому что вы не можете назначить их позже - это единственное отличие, которое они имеют. Вы не можете иметь переменную, которую вы можете назначить только один раз, но не переназначить.

Если результатом является объект, вы можете объявить константу для хранения пустого объекта, а затем использовать Object.assign() для заполнения это с ответом API.

const result = {};
fetch(...).then(response => response.json()).then(data => Object.assign(result, data));
0 голосов
/ 23 января 2020

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

Неправильно

const PI;
PI = 3.14159265359;

Правильно

const PI = 3.14159265359;

Для получения дополнительной информации вы можете посмотреть это дает вам лучшее объяснение

https://www.w3schools.com/js/js_const.asp

0 голосов
/ 23 января 2020

Вы не можете сделать это, по крайней мере, во время выполнения. Я предлагаю вам рассмотреть возможность использования TypeScript, который имеет модификатор readonly, который поможет вам защитить вашу переменную от перезаписи во время компиляции .

0 голосов
/ 23 января 2020

Имеется два способа создания const со значением по умолчанию, 1 объект со свойствами mutable, 2 массива, как вы можете видеть ниже.

const a = {};
cosnt b = [];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...