Node.js中当前类的实例

时间:2018-10-01 20:05:43

标签: javascript node.js instanceof

我想测试变量是否是当前类的实例。所以我正在检查类的方法中。我希望有一种比指定类名更抽象的方法。在PHP中,可以使用self关键字。

在PHP中,它是这样完成的:

if ($obj instanceof self) {

}

nodejs等效于什么?

1 个答案:

答案 0 :(得分:1)

考虑您的评论(强调我的观点):

  

我想测试变量是否是当前类的实例。所以   我在类的方法中检查 。我希望有一个   比指定类名称更抽象的方式。在PHP中   可以使用 self 关键字。

我想说,在这种情况下,self将映射到this.constructor。请考虑以下内容:

class Foo {}
class Bar {}
class Fizz {
  // Member function that checks if other 
  // is an instance of the Fizz class without 
  // referring to the actual classname "Fizz"
  some(other) {
    return other instanceof this.constructor;
  }
}

const a = new Foo();
const b = new Foo();
const c = new Bar();
const d = new Fizz();
const e = new Fizz();

console.log(a instanceof b.constructor); // true
console.log(a instanceof c.constructor); // false
console.log(d.some(a)); // false
console.log(d.some(e)); // true