Вы когда-нибудь задумывались, сколько существует способов создания переменных в JavaScript? Или на любом языке программирования? По сей день то, что я могу делать с помощью JavaScript, не перестает меня удивлять; иногда мне хочется думать, что они волшебные. В этой короткой статье, чтобы оценить язык, я покажу, как создавать переменные в JavaScript, используя 12 различных методов.

Конечно, очень маловероятно, что вы будете использовать большинство приведенных ниже примеров в своем коде, но, тем не менее, они прекрасно работают. Все примеры были созданы в глобальном контексте выполнения и работают в основном в веб-браузере. Большинство из них не будут работать в среде Node.js. Кроме того, некоторые методы могут не работать должным образом в строгом режиме. Я надеюсь, что, увидев, как они работают, вы тоже оцените язык так же, как и я.

Итак, без лишних слов, поехали!

1. Использование ключевого слова «let»

Ключевое слово let появилось в ES6. Это позволяет вам создать переменную, имеющую область действия блока.

2. Использование ключевого слова «const»

Ключевое слово const также было введено в ES6 как средство предотвращения переназначения переменной нового значения (то есть изменения ее состояния). Созданная переменная также имеет область действия блока.

3. Использование ключевого слова «var»

Ключевое слово «var» было самым популярным ключевым словом, используемым при создании переменных JavaScript с момента его создания. Созданная переменная имеет функцию или локальную область видимости.

4. Без использования квалификатора

Переменная, созданная без квалификатора (ключевого слова), всегда будет глобальной переменной с глобальной областью действия независимо от того, где она была создана.

5. Использование свойства «globalThis»

globalThis похож на глобальный объект. Это псевдоним глобального значения this. Созданная переменная имеет глобальную область видимости.

6. Использование «это» и «я»

Глобальное значение this преобразуется в объект window. self — это свойство класса Windows. И this, и self преобразуются в объект window. Созданная переменная имеет глобальную область видимости.

7. Использование объекта «окно»

Объект window — это глобальный объект в окне веб-браузера (вкладка). Созданная переменная имеет глобальную область видимости.

8. Использование свойства «window.constructor.prototype»

Все объекты, созданные в JavaScript (встроенные и пользовательские), связаны с цепочкой прототипов объекта и имеют конструктор (кроме Object.create(null)). Сама функция-конструктор имеет свойство, называемое prototype, для которого вы можете создавать глобальные свойства (или переменные).

9. Использование свойства this.constructor.prototype

Значение this является псевдонимом объекта window. Таким образом, это работает так же, как в пункте 8 выше.

10. Использование свойства «Object.prototype»

Свойство prototype класса Object можно использовать для создания настраиваемых свойств, которые можно использовать глобально во всей цепочке прототипов.

11. Использование свойства «__proto__» экземпляра объекта

У каждого объекта есть свойство с именем __proto__, которое имеет прямую ссылку на свойство prototype класса, из которого он был создан. Используя экземпляр глобального объекта, вы можете создавать свойства (переменные) аналогично #10 выше.

12. Использование свойства «__proto__» литерала объекта

Пример в #11 выше может быть реорганизован для использования безымянного (анонимного) экземпляра объекта.

Вывод

Приведенные выше примеры возможны из-за того, что JavaScript является языком с динамической типизацией и его запутанной, но мощной цепочкой наследования и прототипов. Если вы знаете другой способ, пожалуйста, прокомментируйте и поделитесь ниже. Кроме того, любые исправления приветствуются.

Спасибо, и я надеюсь, вам понравилось короткое чтение.