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

ES6类继承代码运行正常但控制台报Cannot read property 'name' of undefined错误求解

问题排查结论

你贴出的这段ES6类代码本身不存在语法或逻辑问题,本地直接运行只会输出两行预期的日志,不会抛出Cannot read property 'name' of undefined错误。这个报错来自你当前运行环境的额外逻辑,你可以按以下方向排查:

  • 检查这段代码之外的其他逻辑,是否存在读取未定义对象的name属性的操作,常见场景包括调用未初始化变量的constructor.name、类装饰器的内部处理逻辑错误、调试工具的自动监听表达式读取了不存在的对象属性。
  • 如果你用了低于7.x版本的Babel转译ES6语法后再运行,旧版本Babel处理继承类的边缘场景时可能会触发类名读取相关的内部错误,可以升级Babel版本,或者给Bicycle的构造函数参数补上和父类一致的默认值来规避:
class Bicycle extends Vehicle{
    constructor(color = 'blue', wheels = 4, horn = 'beep beep'){
        super(color, wheels, horn);
        this.wheels = 2;
        this.horn = 'honk honk';
    }
}
  • 检查运行环境版本是否过老,IE浏览器完全不支持ES6 class语法,低版本Node也可能出现兼容问题,升级到Chrome/Edge现代浏览器或者Node 14+版本即可解决类相关的兼容报错。

内容的提问来源于stack exchange,提问作者K. Meyer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 18:36:03