提供了一个标准方式去获取不同环境下的全局对象

    node: global

    web: window、self

    1. self.setTimeout(() => {
    2. console.log('es2020')
    3. });
    4. window.setTimeout(() => {
    5. console.log('es2020')
    6. });

    es2020globalThis 的作用相当于 我们自己定义的 getGlobal 函数

    1. const getGlobal = () => {
    2. if (typeof self !== 'undefined') {
    3. return self
    4. }
    5. if (typeof window !== 'undefined') {
    6. return window
    7. }
    8. if (typeof global !== 'undefined') {
    9. return global
    10. }
    11. throw new Error('无法找到全局对象')
    12. }
    13. const global = getGlobal()
    14. console.log('global', global)
    15. console.log('globalThis', globalThis)

    image.png