06. Global Environment
Глобальный объект, или объекты в глобальном пространстве, это обычные объекты/функции JavaScript, которые доступны из любого места в JS коде. Технически говоря, они являются свойствами глобального объекта (isNaN === window.isNaN = true
).
При запуске интерпретатора JS (или когда веб-броузер загружает новую страницу), создается новый глобальный объект, для которого инициализируется начальный набор свойств, определяющих:
глобальные свойства, такие как
undefined
,Infinity
иNaN
;глобальные функции, такие как
isNaN(), parseInt()
функции-конструкторы, такие как
Date(), RegExp(), String(), Object() и Array()
глобальные объекты, такие как
Math
иJSON
.
В программном коде верхнего уровня, т. е. в JS-коде, который не является частью функции, сослаться на глобальный объект можно посредством ключевого слова this
: const global = this;
.
В зависимости от окружения, где выполняется JS глобальный объект будет отличаться:
Browser Global: объект
window
классаWindow
.Node Global: объект
global
.
Global values
undefined
-- отсутствие значенияnull
-- пустой объектInfinity
-- числовая бесконечностьNaN
-- не число
Global functions:
eval()
-- вычисляет строку, содержащую JS код, оказывая эффект на окружающий исполнительный контекст.isFinite()
-- определяет, что число является конечным.isNaN()
-- определяет, является ли переданное числоNaN
выполняя при этом приведение типов (пытается привести аргумент к числу). В настоящее время стоит использовать ES6+ версию этой функцииNubmer.isNaN()
, которая не выполняет приведение типа аргумента к числу.parseFloat(arg)
-- преобразовывает аргумент в число с плавающей точкой, пытаясь выполнить при этом приведение типов. ES6+ Deprecated, используйтеNumber.parseFloat
.parseInt(arg)
-- преобразовывает аргумент в целое число, пытаясь выполнить при этом приведение типов. ES6+ Deprecated, используйтеNumber.parseInt
.decodeURI(uri)
--- Возвращает копию аргументаuri
, в которой все шестнадцатеричные управляющие последовательности заменены на символы, которые они представляют. Она выполняет действие, обратное действию функцииencodeURI()
.decodeURIComponent()
--- декодирует управляющие последовательности символов в компоненте URI. Возвращает копию аргумента s, в которой шестнадцатеричные управляющие последовательности заменены представляемыми ими символами.encodeURI()
--- Выполняет кодирование URI с помощью управляющих последовательностей.
Эти функции стоит использовать в качестве крайней необходимости.
globalThis
object
globalThis
objectГлобальное свойство globalThis
содержит значение глобального this
, который является глобальным объектом.
Свойство globalThis
даёт возможность стандартного доступа к глобальному значению this
(и как следствие, к глобальному объекту) вне зависимости от окружения.
В отличии от похожих свойств, таких как window
и self
, оно гарантирует работу как в среде, где есть window
, так и в среде, где его нет.
Last updated
Was this helpful?