ES6 Class的get、set使用
class Person {
constructor(name, age) {
this.name = name
this.age = age
}
//__age__ = 0
get age() {
console.log("get is called")
//return this.__age__
return this.__proto__.__age__
}
set age(value) {
console.log("set is called")
if (value < 0) {
//this.__age__ = value * -1
this.__proto__.__age__ = value * -1
} else {
//this.__age__ = value
this.__proto__.__age__ = value
}
}
}
Person.prototype.__age__ = 0
let p1 = new Person("tom", -18)
p1.age=19
console.log(p1.age, p1)

浙公网安备 33010602011771号