我想测试变量是否是当前类的实例。所以我正在检查类的方法中。我希望有一种比指定类名更抽象的方法。在PHP中,可以使用self关键字。
在PHP中,它是这样完成的:
if ($obj instanceof self) {
}
nodejs等效于什么?
答案 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