You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js子类无法获取父类更新后的值问题排查

问题分析与解决方法

你遇到的问题核心是:first和second是两个完全独立的实例。调用first.updateValue()只会修改first这个实例自身的value属性,不会影响second实例的value——因为每个类实例都会拥有自己独立的属性副本,继承只是让子类实例继承父类的属性定义和方法,不是共享同一个实例的属性。

解决方法1:在子类实例上调用更新方法

如果你想让second实例获取更新后的值,直接在second实例上调用updateValue()即可:

let second = new Second();
second.updateValue(); // 先执行更新操作
console.log(second.getUpdatedValue()); // 输出4

解决方法2:使用静态属性实现值共享

如果需要让所有First和Second的实例共享同一个value值,可以把value定义为类的静态属性:

class First {
    static value = 2; // 静态属性属于类本身,所有实例共享
    updateValue() {
        First.value = 4;
        return First.value;
    }
}

class Second extends First {
    getUpdatedValue() {
        return First.value;
    }
}

let first = new First();
first.updateValue(); // 通过实例更新静态属性
let second = new Second();
console.log(second.getUpdatedValue()); // 输出4

内容的提问来源于stack exchange,提问作者armin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:12:11