利用ES6的proxy设置一个简单的验证器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const person = new Proxy(
{
name: 'Tom',
age: 13
},
{
set: (item, key, value) => {
if(key === 'age') {
if(value > 18) {
throw new RangeError('age is too big')
} else {
item[key] = value
}
}
}
}
)
console.log(person.age = 12)
console.log(person.age = 19)