我有一组课程,他们没有共享任何属性。我想要做的是检查任意对象是否是该组中任何类的实例。
我可以想到两种方法,首先是在每个类中定义一个特殊的签名属性,例如字符串,并在任意对象中检查它,第二种方法是从空类继承所有类并检查这是否是任意的object是instanceof
基类构造函数,所以可以从空类继承吗?哪一个更合适?还是有更好的方法?
答案 0 :(得分:0)
我会说你应该继续使用继承,因为它在语义和直觉上最有意义。您有一组类,它们属于一个公共集,即使它们不与该父级共享具体属性,它们也会共享它们“属于”该父级的抽象属性。
当然,多种方法都有效,但我认为这是最能代表这一想法的方法。
答案 1 :(得分:0)
我不使用类,但它应该与构造函数相同,因为JS类只是语法糖。所以,
function Maker(n){
this.number = n;
}
Maker.prototype.getConstructorName = function(){
return this.constructor.name;
};
var obj1 = new Maker(10);
console.log(obj1.getConstructorName());