Typescript getter/setter 命名约定
Typescript getter/setter naming convention
我来自 Java 背景,我默认在我熟悉的 Typescript/Angular 组件 类 中使用 getter/setter 命名约定。
getFoo()
setFoo()
然而,这似乎不是最佳实践,但我应该使用约定
get foo()
set foo()
问题
- 这是纯粹的装饰品吗?有什么好处吗?我不明白为什么这会受到青睐,因为据我所知,它与用于其他方法的命名约定不一致。
- 是否有推荐这种做法的正式风格指南?
我们可以使用get
,set
,我们需要在访问值时实现一些约束。
来自 Typescript 文档:
TypeScript supports getters/setters as a way of intercepting accesses
to a member of an object. This gives you a way of having finer-grained
control over how a member is accessed on each object.
示例:
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
。
有关获取、设置的更多信息,请访问打字稿documentation。
type-script 是 java-script 的超集,所有语言语法都非常类似于 ECMAScript 标准,因为程序员感觉编写 java-script 应用程序更好。
SET, GET 属性 在 TS 和 JS 上非常相似
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;
}
}
我来自 Java 背景,我默认在我熟悉的 Typescript/Angular 组件 类 中使用 getter/setter 命名约定。
getFoo()
setFoo()
然而,这似乎不是最佳实践,但我应该使用约定
get foo()
set foo()
问题
- 这是纯粹的装饰品吗?有什么好处吗?我不明白为什么这会受到青睐,因为据我所知,它与用于其他方法的命名约定不一致。
- 是否有推荐这种做法的正式风格指南?
我们可以使用get
,set
,我们需要在访问值时实现一些约束。
来自 Typescript 文档:
TypeScript supports getters/setters as a way of intercepting accesses to a member of an object. This gives you a way of having finer-grained control over how a member is accessed on each object.
示例:
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
。
有关获取、设置的更多信息,请访问打字稿documentation。
type-script 是 java-script 的超集,所有语言语法都非常类似于 ECMAScript 标准,因为程序员感觉编写 java-script 应用程序更好。
SET, GET 属性 在 TS 和 JS 上非常相似
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;
}
}