首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试一个对象在Javascript中的“兄弟类”的方法?

测试一个对象在Javascript中的“兄弟类”的方法?
EN

Stack Overflow用户
提问于 2022-04-11 17:00:51
回答 1查看 32关注 0票数 -2

假设我有一个基类“宠物”和“狗”和“猫”的子类。有没有一种通用的方法,我可以把一个任意的对象,我知道是一个“宠物”,并测试它是“狗”还是“猫”?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-11 17:58:02

您可以向对象请求它的constructor.name属性,或者如果您有对类的引用,则可以使用instanceof运算符:

代码语言:javascript
复制
class Pet {
  constructor(name) {
    this.name = name;
  }
}

class Cat extends Pet {
  sayHello() { console.log(`${this.name} miaows`) }
}

class Dog extends Pet {
  sayHello() { console.log(`${this.name} barks`) }
}

const goofy = new Dog('Pluto');
const garfield = new Cat('Garfield');

console.log(goofy.constructor.name);
console.log(garfield.constructor.name);
console.log(goofy instanceof Dog);
console.log(garfield instanceof Cat);

请注意,Pet不应该知道DogCat的存在(而且后两者都不应该知道另一个的存在)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71831649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档