[英]Typescript getter/setter naming convention
我來自 Java 背景,我默認在我熟悉的 Typescript/Angular 組件類中使用 getter/setter 命名約定。
getFoo()
setFoo()
但是,這似乎不是最佳實踐,而是我應該使用約定
get foo()
set foo()
問題
我們可以使用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;
}
}
在這里,每當我們設置標記時,通行證都會更新。 不行,需要單獨更新。 在這種情況下,get、set 類型的情況會很有用。
get 和 set 的后綴應該具有相同的名稱。 我們可以通過僅調用名稱本身來訪問它。 例如,從上面的代碼中mark
。
有關獲取、設置的更多信息,請訪問 typescript 文檔。
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;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.