我来自Java,我默认在我熟悉的Typescript / Angular组件类中使用getter / setter命名约定。
getFoo()
setFoo()
但是,这似乎不是最佳做法,但是我应该使用约定
get foo()
set foo()
问题
答案 0 :(得分:1)
我们可以使用get
,set
在访问值时需要实现一些约束的地方。
来自Typescript文档:
TypeScript支持getter / setter作为拦截访问的一种方式 到对象的成员。这为您提供了一种更细粒度的方法 控制如何在每个对象上访问成员。
示例:
class StudentMark {
isPass: boolean;
_mark: Mark;
set mark(value: Mark) {
if (value.subject1 > 35 && value.subject2 > 35&& value.subject3 > 35) {
this.isPass = true;
} else {
this.isPass = false;
}
this._mark = value;
}
get mark(): Mark {
return this._mark;
}
}
在这里,只要我们设置标记,通行证就会更新。不,需要单独更新。在这种情况下,获取,设置案例的类型将非常有用。
get和set的后缀应具有相同的名称。我们可以仅通过调用名称本身来访问它。例如,以上代码中的mark
。
有关获取的更多信息,请设置访问打字稿documentation。
答案 1 :(得分:1)
type-script是Java-script的超集,并且所有语言语法都与ECMAScript标准非常相似,因为程序员会感觉更好地编写Java-script应用程序。
TS和JS上的SET,GET属性非常相似
JS
class JSExample {
constructor() {
this._val = "V";
}
get val() {
return this._val;
}
set val($v) {
this._val = $v;
}
}
TS
class TSExample {
_val = "V";
get val(): string {
return this._val;
}
set val($v: string) {
this._val = $v;
}
}