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
相关产品推荐
相关产品推荐

