【发布时间】:2017-12-20 19:55:34
【问题描述】:
大家好,我目前正在学习如何在 javascript 中获取和设置炒锅。具体说说对象atm。
let person = {
_name: 'Lu Xun',
_age: 137,
set age(ageIn) {
if (typeof ageIn === 'number') {
this._age = ageIn;
}
else {
console.log('Invalid input');
return 'Invalid input';
}
},
get age() {
console.log(`${this._name} is ${this._age} years old.`);
return this._age;
}
};
person.age = 'Thirty-nine';
person.age = 39;
console.log(person.age);
例如在此代码中。为什么我需要 set 或 get ,为什么我不能像这样访问它:person.age = 59; ?意思是为什么我不能直接通过我的代码示例更改它?我无法掌握这个概念和对它的需求?有人可以彻底向我解释吗?有人可以给我一个易于理解的解释示例吗?
【问题讨论】:
-
对于初学者,它允许您处理验证等事情,就像您在此处所做的那样
-
公平地说,您的场景根本不需要 getter 或 setter。但这并不妨碍您使用它。如果不是年龄,而且打字更糟糕怎么办?
-
这只是一个允许this concept的漂亮方式
-
属性可用于所有高级 oo 编程语言。我想到的一种用法是只读属性和计算属性。
-
我仍然不明白如何以及何时使用它们
标签: javascript object get set