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

TypeScript中能否通过对象的一个属性计算另一个属性的值?

TypeScript常量对象内部引用属性的问题

首先明确回答:不行,你给出的示例代码会直接报错。因为在对象字面量的初始化阶段,当前对象还未完成创建,VAL1在这个作用域中属于未定义的标识符,JavaScript/TypeScript无法识别它。

可行的解决方案

方案1:先单独定义基础常量,再组装对象

把需要复用的常量提取到对象外部,再在对象中引用:

const VAL1 = 'val1';
export const AppConstants = {
  VAL1,
  VAL2: VAL1 + 'val2'
};

方案2:使用getter属性

通过定义getter方法,在访问属性时动态引用同对象的其他属性,能保持属性的关联性:

export const AppConstants = {
  VAL1: 'val1',
  get VAL2() {
    return this.VAL1 + 'val2';
  }
};

注意:此时VAL2是一个访问器属性,每次访问都会执行getter函数计算值,但对于常量场景来说,这个开销几乎可以忽略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 07:30:03