关于getter, setter

来源:3-5 getter 与 setter(2)

慕前端5592812

2019-11-19 22:01:44

class Person{

    constructor(){

        this._name = '';

    }


    get name(){

        console.log('正在访问name');

        return this._name;

    }

    set name(val){

        console.log('正在修改name');

        this._name = val;

    }

}


const person = new Person();

person.name = '歌王';//这里是修改name属性的值,可是属性_name,而且get name(),set name()好像方法一样,我有些迷。。。。优点在哪里?

console.log(person.name);



写回答

1回答

好帮手慕星星

2019-11-20

同学你好,可能看起来有点类似,但是很好理解。

set方法是设置,get方法是获取,都是对name方法的操作,name方法中再进行其他设置。记住一点:有赋值操作调用的是set方法,没有赋值操作调用的get方法 。例如:

http://img.mukewang.com/climg/5dd4abc60949f95404710191.jpg

这样写起来比较统一,name方法起来写真正要执行的内容,外面只需要调用name就好。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 10739 问题

查看课程