通过判断 Global 对象是否为 window,

node 的全局对象为 global

浏览器的全局对象是 window

补充

补充:判断当前脚本运行环境的几种常用方式:

  1. 通过全局对象 :浏览器是 window(this 在全局作用域指向 window),Node.js 是 global(globalThis 在 Node ≥ 12 才有)。
  2. 通过 process 标识 :Node 有 process 对象且 process.versions.node 存在;浏览器没有。
  3. typeof window / typeof document :浏览器中 typeof window === 'object' 且 typeof document === 'object',Node 中两者都是 undefined。
  4. 现代推荐 :使用 globalThis + 特征判断,跨环境更稳。
// 简易判断
if (typeof window !== 'undefined' && typeof document !== 'undefined') {
  console.log('浏览器环境')
} else if (typeof process !== 'undefined' && process.versions && process.versions.node) {
  console.log('Node.js 环境')
} else {
  console.log('其他环境(Web Worker、小程序等)')
}

来源整理自:vue3js.cn 面试官系列