废话不多说 直接上例子
let _age=4
class Animal{
constructor(type){
this.type=type
}
get age(){ //get 是关键字 ES6允许属性在constructor外 在类的顶层 出入口
return _age
}
set age(val){ //setter相当于给属性赋值的拦截器 里面可以判断 只要实例上给age属性赋值就会触发 出入口
if(val>8){
_age=val
}
}
eat(){
console.log("im eat food")
}
}
let dog=new Animal("dog")
let monkey=new Animal("monkey")
dog.eat()
monkey.eat()
console.log(typeof Animal)
console.log(dog.age) //4
dog.age=9 //设置age 触发set方法
console.log(dog.age) //调用时候按属性调用 9
网友评论