首页 > 解决方案 > javascript中的this()是什么?

问题描述

我理解thisjavascript 中的关键字。我已经像this.method()or一样使用它this.variable =。但这是什么()。请参阅以下代码:

  static fromTX(tx, index) {
    return new this().fromTX(tx, index);
  }

请帮助我理解 this() 在 javascript 和上面的代码示例中的用法。

标签: javascriptthis

解决方案


在静态方法内部,this将引用构造函数,因此new this()将调用构造函数:

class Foo {
  constructor() {
    console.log('making instance');
  }
  static makeFoo() {
    return new this();
  }
}

const f = Foo.makeFoo();

当然,只有在引用函数this时才可以这样调用this,否则会抛出错误。通常,this将引用一个对象,而不是一个函数。


推荐阅读