TypeScript 属性
我很好奇其他使用 TypeScript 的人是否也在实现属性 (http://www.codingdefined.com/2015/05/get-and-set-property-in-typescript.html)。
我倾向于喜欢使用属性,即使在我的 TypeScript 代码中也会如此,但我团队中的其他人认为这有点过头。出于你在 C# 代码中使用属性的同样原因(为什么在 C# 中使用简单属性而不是字段?),我认为在 TypeScript 中使用属性也是好的。
这不是一个“我想知道别人是否同意我的观点”的问题,而是我想知道其他人是否真的在 TypeScript 中使用属性,以及为什么使用或不使用。这非常类似于别人对 C# 属性提出的同样问题。
我实际上找不到有人在问关于 TypeScript 的问题。
答案#1
我通常不使用它们,除非我需要它们。最棒的是,我们可以一开始使用公共变量,然后根据需要添加getter和setter。
所以我通常是这样开始的:
class Test {
testField: string = "";
}
然后当我意识到我需要一个 getter 和 setter 时,我把它改成了:
class Test {
private _testField: string = null;
get fieldName() : string {
return this._testField;
doSomething();
}
set fieldName(name : string) {
doSomethingElse();
this._testField = name;
}
}
在 TypeScript 中,如果 getters 和 setters 只是获取和设置值,我们不必添加它们。这与 C# 等语言形成对比,在 C# 中,如果你在 getter 或 setter 中添加逻辑,会破坏向后兼容性。
