Есть ли что-либо выше window?
DOM и браузер
Выше `window` в браузере ничего нет — это глобальный объект и вершина иерархии в контексте вкладки. Но есть нюансы: фреймы, `globalThis` и родительские окна.
window — вершина в браузере
window — глобальный объект окна/вкладки. Глобальные переменные и функции становятся его свойствами:
window === window.window; // true — ссылается на себя
window.self; // тоже windowВыше него в рамках одной вкладки ничего нет.
Нюансы — «связанные» окна
Фреймы и iframe
У встроенных фреймов своё window, а над ним:
window.parent; // родительское окно (для iframe)
window.top; // самое верхнее окно в иерархии фреймовДля iframe window.top — «выше», чем его window.
window.opener
Окно, открывшее текущее через window.open/target="_blank".
globalThis — универсальная ссылка
globalThis — стандартный способ получить глобальный объект в любой среде:
globalThis === window; // в браузере — trueЭто не «выше» window, а универсальное имя для него (в Node — global, в воркере — self).
В других средах
- Node.js — глобальный объект
global(нетwindow). - Web Worker —
self(нет доступа кwindow/DOM).
Коротко для собеседования
Выше window в рамках вкладки ничего нет — это глобальный объект (window === window.window). Нюансы: у фреймов своё window, а над ними window.parent/window.top; window.opener — открывшее окно. globalThis — универсальное имя глобального объекта (в Node — global, в воркере — self), а не что-то «выше».