Задать вопрос
@Torento20345

Как через window сделать глобальную переменную const?

window.text = 'hello world'
Я так понимаю это аналог var text = 'hello world'
А как нам через window присвоить переменной свойство const?
  • Вопрос задан
  • 122 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Через defineProperty()
Object.defineProperty(window, "test", {
  value: "QnA"
});
Присвоение нового значения ошибки не вызовет, но и не сработает: сохранится указанное значение.
проверки
test = "X"; 
test // "QnA"

var test = "Y";
test // "QnA"

window.test = "Habr";
test // "QnA"

const test = "Z" // Uncaught SyntaxError: redeclaration of var test

Тут не указано writable: false – оно и так по умолчанию false. И именно это свойство дескриптора определяет, можно ли назначить новое значение.

Если переменная/свойство уже были декларированы ранее, то надо явно указать writable: false, чтобы свойство стало «константным».
var test = "Habr";

Object.defineProperty(window, "test", {
  value: "QnA",
  writable: false,
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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