ES5中使用get和set 是在object内使用的

var obj = {
        _list:[],
        get list(){
            return this._list;
        }
        set list(val){
            this._list.push(val);
        }
    }
console.log(obj.list);//调用get,打印结果:[]
obj.list = 'A';//调用get
obj.list = 'B';//调用get
console.log(obj.list);//调用get,打印结果:['A','B']

ES6中 则在class 中使用

class MyClass {
    constructor(){
        this._list=[];
    }
    get list(){
        return this._list;
    }
    set list(val){
        this._list.push(val);
    }
}
var obj = new MyClass();
console.log(obj.list);//调用get,打印结果:[]
obj.list = 'A';//调用get
obj.list = 'B';//调用get
console.log(obj.list);//调用get,打印结果:['A','B']

shuhdad
15 声望2 粉丝

引用和评论

0 条评论