高级属性的定义
时间:2021-07-05 19:07:14
收藏:0
阅读:0
普通属性直接赋值,高级属性可以根据你的业务需要进行赋值,
/* 定义高级属性 */
const user = {
_age: 0
}
//这种方式定义的age无法存储数,只是对某个变量成员的代理,加入get和set的目是让你的属性具有
//了行为,也就是我们可以再访问或者是设置属性的时候,添加更多的业务行为代码。
Object.defineProperty(user,‘age‘,{
get (){
return user._age
},
set (val){
if(val < 0 || val >= 120){
throw new Error(‘年龄不合法‘)
}
user._age = val
}
})
console.log(user.age)//0
user.age = 50
console.log(user.age)//50
user.age = 500
console.log(user.age)//Error: 年龄不合法
评论(0)