При работе в браузере присутствует глобальная переменная window
, и вы просто используете ее. Вам не нужно ничего делать, чтобы сделать это подарком или пригодным для использования, если вы запускаете код в соответствующей среде. Если код выполняется в node.js, переменная window
не будет присутствовать.
Если ваш код предназначен только для одной среды, то программисту, как правило, остается только попытаться использовать в соответствующей среде, и вы должны задокументировать, в какой среде это требуется.
Если вы хотите сообщить разработчику, что он использует его неправильно, вы можете сделать что-то подобное в коде верхнего уровня:
if (typeof window !== "object" && typeof window.document !== "object") {
// does not appear to be a browser environment
throw new Error("This code is only meant to run in a browser environment");
}
Разработчик может обойти эти проверки либо путем определения window
и window.document
в глобальной среде перед загрузкой вашего кода, либо путем редактирования этой проверки из вашего кода, но в этот момент они сами по себе в любом случае.