JavaScript 检查对象是否具有继承属性

标签 javascript inheritance

<分区>

function Employee(name, dept) {
    this.name = name || "";
    this.dept  = dept || "general";
}

function WorkerBee(projs) {
    this.projects = projs || [];
}

WorkerBee.prototype = Object.create( Employee.prototype );

function Engineer(mach) {
    this.dept = "engineering";
    this.mach = mach || "";
}

Engineer.prototype = Object.create(WorkerBee.prototype);
var jane = new Engineer("belau");

console.log( 'projects' in jane );

正在尝试检查 jane 是否继承了 projects 属性。

输出 false。为什么?

最佳答案

Outputs false. Why?

因为 this.projects 是在 WorkerBee 中设置的,但是那个函数永远不会执行。

这与您之前的问题相同:JavaScript inheritance Object.create() not working as expected

关于JavaScript 检查对象是否具有继承属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31015374/

相关文章:

Javascript 对象文字和 jQuery

javascript - 通过 Discord OAuth 传递字符串?

c++ - 运算符 << 和继承

C++ 多模板纯虚继承

javascript - 不同浏览器窗口上的javascript代码是否在同一线程上运行?

javascript - 将日期排序为字符串的回调函数

javascript - GMT 后的 Momentjs 日期格式处理 (CEST)

c# - 新的关键字和方法隐藏

C++ 如何从虚拟类的模板化子类中获取数据?

c++ - 无法在构造函数中访问类的继承成员