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...

咱们把下面的书写改一下

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);

学会了吗骚年?