三种实现方式
let a = {
i: 1,
toString: function() {
return this.i++;
}
};
let a = new Proxy({}, {
i: 1,
get: function() {
return () => this.i++
}
}
);
//数组的 toString 默认调用数组的 join 方法,重写 join 方法
let a = [1, 2, 3];
a.join = a.shift;