@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 перед вопросом?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы