@Torento20345

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

window.text = 'hello world'
Я так понимаю это аналог var text = 'hello world'
А как нам через window присвоить переменной свойство const?
  • Вопрос задан
  • 121 просмотр
Решения вопроса 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,
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 22:26
3500 руб./за проект
22 нояб. 2024, в 21:47
3000 руб./за проект
22 нояб. 2024, в 21:44
50000 руб./за проект