gpt4 book ai didi

javascript - __proto__ 在 JavaScript 中仅显示一个继承

转载 作者:行者123 更新时间:2023-12-01 01:13:46 24 4
gpt4 key购买 nike

我正在使用 NodeJS 在 javascript 中尝试继承,但我不明白为什么 uncleTrump.__proto__.__proto__ 在从两个构造函数多重继承时只显示单个继承实体。

这是我正在尝试的代码。

const util = require('util')

function person(){
this.species = 'human'
this.planet = 'earth'
}

function animal(){
this.stupid = true
}

function boy(){
animal.call(this)
person.call(this)
this.gender = 'male'
}


util.inherits(boy,person);
util.inherits(boy,animal);

let uncleTrump = new boy();
console.log(uncleTrump.__proto__.__proto__)

当使用 NodeJS 运行此代码时,我收到的唯一输出是。

animal {}

为什么我在原型(prototype)链中看不到 person {} ?

最佳答案

Javascript不支持多重继承,它只支持单继承模型。
util.inheritsboy-animal 原型(prototype)链覆盖 boy-person 原型(prototype)链。
这就是为什么当调用 __proto__.__proto__ 时我看不到 person {}

关于javascript - __proto__ 在 JavaScript 中仅显示一个继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54945454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com