ES6:proxy

79 阅读1分钟

一、proxy是什么

二、proxy的handler

三、代理的使用场景

1、模拟at方法

      let arr = ['a', 'b', 'c']

      const createArr = (arr) => {
        const handler = {
          get(target, key) {
            key = +key
            if (key < 0) key += target.length
            return Reflect.get(target, key)
          }
        }
        return new Proxy(arr, handler)
      }

      console.log(arr.at(-1)) // c

      arr = createArr(arr)
      console.log(arr[0]) // a
      console.log(arr[-1]) // c