[JS] Getter and Setter 筆記 - pcwu's TIL Notes
文章推薦指數: 80 %
[JS] Getter and Setter 筆記. 12 Feb 2017. JavaScript. 在JavaScript 中如果Class 在取屬性值或設定屬性值時,如果有比較複雜的運用時,可以使用 Getter 和 Setter ...
[JS]GetterandSetter筆記
12Feb2017
JavaScript
在JavaScript中如果Class在取屬性值或設定屬性值時,如果有比較複雜的運用時,可以使用Getter和Setter。
例如取不到值時不想回傳undefined,設定值小於零時設成將它以大於零來儲存時:(私有屬性習慣前面以_作為區隔)
classOption{
constructor(key,value,autoLoad=false){
if(typeofkey!='undefined'){
this['_'+key]=value;
}
this.autoLoad=autoLoad;
}
getgrade(){
if(this._grade!==undefined){
returnthis._grade
}else{
return'nogradeprop'
}
}
setgrade(value){
if(value<0){
this._grade=-1*value
}else{
this._grade=value
}
}
}
constop1=newOption('grade',99)
console.log(op1.grade)//99
constop2=newOption('color','red')
console.log(op2.grade)//nogradeprop
op2.grade=-59
console.log(op2.grade)//59
Reference
https://eyesofkids.gitbooks.io/javascript-start-from-es6/content/part3/object.html
延伸文章資訊
- 17天搞懂JS進階議題(day05)-getter & setter: 屬性描述器
7天搞懂JS進階議題(day05)-getter & setter: 屬性描述器. February 27, 2020. 本系列文章討論JS 物件導向設計相關的特性。 不含CSS,不含HTML!...
- 2属性的getter 和setter - 现代JavaScript 教程
访问器属性由“getter” 和“setter” 方法表示。在对象字面量中,它们用 get 和 set 表示:. let obj = { get propName() { // 当读取obj.p...
- 3JavaScript Object Accessors - W3Schools
ECMAScript 5 (ES5 2009) introduced Getter and Setters. Getters and setters allow you to define Ob...
- 4JS Getter 與Setter DAY71 - iT 邦幫忙::一起幫忙解決難題
Setter 與Setter Getter: 取得特定值的方法Setter: 存值的方法Getter var wallet = { total: 100, set save(price){ th...
- 5getter - JavaScript - MDN Web Docs
最少要有零個參數(請參見Incompatible ES5 change: literal getter and setter functions must now have exactly ze...