@Richswitch
junior

Почему нельзя задавать переменные const в const?

Привет! Мне кажется с формулировкой вопроса что-то не так, поэтому вот пример пары циклов с разными обозначениями переменных:
const
const sumTo = (n) => {
	const sum = 0;
	for (i = 1; i <= n; i++) {
		sum += i;
	}
		return sum;
}

console.log(sumTo(3));

Получаю ошибку
TypeError: invalid assignment to const `sum'

Но если на строчке
2
вместо const написать var, то функция работает:

var
const sumTo = (n) => {
  var sum = 0;
  	for (var i = 1; i <= n; i++) {
  	  sum += i;
  	}
  return sum;
}

console.log(sumTo(3));

Вопрос, почему при const -> const функция не работает, а при const -> var работает?
PS: Со всеми ли операциями const -> const не работает?
  • Вопрос задан
  • 231 просмотр
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Вопрос, почему при const -> const функция не работает, а при const -> var работает?
Потому что const на то и const, что его нельзя изменить (подсказка: sum += i;). Вам нужно в данном случае использовать let.
А const -> const тут совершенно ни при чём.
Ответ написан
Комментировать
Negwereth
@Negwereth
lvivcss.com.ua
const не позволяет изменять своё значение. Именно поэтому константы должны быть не только объявлены, но и тут же проинициализированы.

Вы вообще пытались почитать тот же MDN перед вопросом?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы