JavaScript中的get和set方法详解:原来js中的对象还可以有这种骚操作
经常我们书写一个js对象,都是这样定义的
const obj = {
name:'xiaohong',
age:18,
getAge(){
return this.age
}
}
用起来倒也是直观
obg.getAge() // 18
但是很多同学估计没看全mdn上的讲解,不知道还有get和set方法
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/get
我们把上面的书写改一下
const obj = {
name:'xiaohong',
age:18,
get getAge(){
return this.age
}
}
obj.getAge // 18
可以看到,上面这两个书写方式 我们在获取getAge属性时,还是略有差异的。
前者是调用函数,后者调用属性直接就可以获取到。
再看看set方法,因为set是设置对应的值,所以我们不需要return东西出来,只需要有赋值操作就行了
const class = {
set addStudent(name) {
this.students.push(name);
},
students: []
};
class.addStudent = 'EN';
class.addStudent = 'FA';
console.log(class.students);
学会了吗骚年?