首先,我们要明白访问器有什么用呢?
访问器的作用:在一个对象中,如果在某种情况下,我们不希望可以通过对象点属性名的方法直接修改属性值,我们希望可以通过一次“过滤”之后,如果传入的值符合要求,才能改变对象属性的值,因此,这就是访问器的作用。
访问器的基本使用:
下面我们定义了一个对象,往对象中设置了几个默认值,在此,我们通过set修饰符来改变属性值,get修饰符用来获取属性值。
let user = {
data: {name: "Joker", age: 20},
set age(val) {
if (typeof val !== "number" || val < 10 || val > 100) {
throw new Error("年龄格式错误");
}
this.data.age = val
},
get age() {
return this.data.age + '岁'
}
};
console.log(user.age); //20岁
user.age = 80;
console.log(user.age); //80岁
通过访问器,我们就可以对设置对象的属性值进行了保护,如果设置的属性值不符合要求,则不能改变属性值。