angular - Typescript getter/setter 命名约定
问题描述
我来自 Java 背景,我默认在我熟悉的 Typescript/Angular 组件类中使用 getter/setter 命名约定。
getFoo()
setFoo()
但是,这似乎不是最佳做法,而是我应该使用约定
get foo()
set foo()
问题
- 这纯粹是化妆品吗?有什么好处吗?我不明白为什么这会受到青睐,因为据我了解,它与用于其他方法的命名约定不一致。
- 是否有正式的风格指南推荐这种做法?
解决方案
我们可以使用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 类型的情况将很有用。
get 和 set 的后缀名应该相同。我们可以通过只调用名称本身来访问它。例如,mark
来自上面的代码。
有关获取、设置的更多信息,请访问 typescript文档。
推荐阅读
- javascript - jquery检查碰撞和改变路径
- java - 如何在我的应用程序中实现语音到文本
- java - Jersey Server 未转换为 XML
- r - 在具有 2x geom_col 的图中绘制具有相同填充变量的值
- php - 在下拉 Laravel 中发布 json 数据
- python-3.x - 如何在 QTreeWidget 中获取选定的子索引
- sql - 用户定义类型的 SQL 语句产生错误
- scala - 如何清除 sbt 缓存?
- matplotlib - 使用 fig.add_subplot() 绘制图形
- reactjs - 如何在反应中保护/隐藏您的用户 ID 和网络令牌?