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

TypeScript如何实现基于其他属性的派生属性(类同C#表达式体属性)

TypeScript中实现类似C#表达式体属性的写法

对应你给出的C#表达式体属性,TypeScript里最接近的实现是使用getter访问器,写法如下:

class MyClass {
  // 构造函数中直接声明公共属性id和name
  constructor(public id: number, public name: string) {}

  // 等效于C#的DisplayText属性
  get displayText() {
    return `${this.id} - ${this.name}`;
  }
}

使用时和访问普通属性一样,不需要加括号:

const obj = new MyClass(1, "示例名称");
console.log(obj.displayText); // 输出: 1 - 示例名称

这种getter是只读属性(如果不定义对应的setter),和C#中表达式体属性的只读特性一致,语法风格也最贴近。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 20:00:58