Sac*_*cha 9 javascript class subclass object instance
我有两节课:
class Bar extends Foo { // Foo isn't relevant
constructor(value) {
if (!(value instanceof Foo)) throw "InvalidArgumentException: (...)";
super();
this.value = value;
}
}
class Baz extends Bar {
constructor(value) {
super(value);
}
}
Run Code Online (Sandbox Code Playgroud)
该Bar
constructor
如果检查value
是美孚的一个实例,它如果不是抛出一个错误.至少,这就是我想要的.如果传递a Bar
或a Baz
as值,则if语句true
也会返回.目标是只让我们Foo
通过.
我已经找到了这个答案,但这并没有真正回答我的问题.
检查构造函数:
if (!value || value.constructor !== Foo)
throw 'InvalidArgumentException: (...)';
Run Code Online (Sandbox Code Playgroud)
或对象的原型(这更像是什么instanceof
):
if (!value || Object.getPrototypeOf(value) !== Foo.prototype)
throw 'InvalidArgumentException: (...)';
Run Code Online (Sandbox Code Playgroud)