The*_*ger 5 naming-conventions typescript angular
我来自 Java 背景,我默认在我熟悉的 Typescript/Angular 组件类中使用 getter/setter 命名约定。
getFoo()
setFoo()
Run Code Online (Sandbox Code Playgroud)
但是,这似乎不是最佳实践,而是我应该使用约定
get foo()
set foo()
Run Code Online (Sandbox Code Playgroud)
问题
我们可以使用get,set当我们需要在访问值时实现一些约束。
来自打字稿文档:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,每当我们设置标记时,通行证就会更新。不行,需要单独更新。在这种情况下,类型的 get、set 将很有用。
get 和 set 的后缀应具有相同的名称。我们只需调用名称本身即可访问它。示例,mark来自上面的代码。
有关 get、set 的更多信息,请访问 typescript文档。
| 归档时间: |
|
| 查看次数: |
3432 次 |
| 最近记录: |