new this(...args)什么意思啊?

下面代码什么意思啊

class  A{
  static instance(...args) {
        this.i = this.i || new this(...args)
        return this.i
    }
}

this.i = this.i || new this(...args)完全看不懂啊,这里this.i是个什么鬼
new this(...args)又是什么?

阅读 4.5k
2 个回答

短路。等同於:

class A{
  static instance(...args) {
        if (this.i) this.i = this.i;
        else this.i = new this(...args);

        return this.i;
    }
}

new this(...args) is equal to new A(...args).

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题