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

JavaScript如何在对象内部获取自身属性的值?

解决对象初始化时内部引用自身属性的问题

你这段代码报错是因为const声明的变量在完全初始化完成前,无法被自身内部访问。当你在key2里写obj.key1时,obj还没完成整个对象的创建,JS引擎还没把它绑定到这个变量名上,所以会抛出引用错误。

下面是几种可行的解决方法:

  • 先初始化对象,再追加属性

    const obj = {
      key1: "value"
    };
    obj.key2 = obj.key1;
    

    先让obj完成初始化,之后再通过外部赋值的方式添加key2,此时obj已经可以正常访问。

  • 使用getter方法

    const obj = {
      key1: "value",
      get key2() {
        return this.key1;
      }
    };
    

    getter函数会在你访问obj.key2的时候才执行,此时对象已经初始化完成,this能正确指向当前对象,而且后续如果key1的值更新,key2也会自动同步。

  • 提取共享值到外部变量

    const key1Value = "value";
    const obj = {
      key1: key1Value,
      key2: key1Value
    };
    

    把需要共享的属性值先单独定义,对象的两个属性都引用这个外部变量,避免在对象内部引用未初始化的自身。

内容的提问来源于stack exchange,提问作者Tavuk Döner

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 17:39:40