1. /*
    2. * target 处理的对象
    3. * handler
    4. */
    5. let obj = {
    6. a: 1,
    7. b: 2
    8. }
    9. let objFun = {
    10. get: (target, key) => {
    11. // target 数据本身
    12. // key 数据的key
    13. // 判断obj原型上有没有key
    14. if (key in obj) {
    15. return obj[key];
    16. } else {
    17. throw new Error('属性不存在')
    18. }
    19. },
    20. set: (target, prop, value) => {
    21. // target 目标对象
    22. // prop 被设置的属性
    23. // value 修改后的值
    24. if (value < 10) {
    25. return obj[prop] = value
    26. } else {
    27. throw new Error(`${prop}不能大于10`)
    28. }
    29. }
    30. }
    31. let objProxy = new Proxy(obj, objFun)
    32. objProxy.a = 2
    33. console.log(objProxy['a']);