proxy 代理
使用get 拦截,实现数组读取负数的索引
// proxy 使用get拦截 实现数组读取负数的索引 function createArray(...elements){ let handle = { get: function(target, propKey, receiver){ let index = Number(propKey); console.log("index---->", index) console.log("propKey---->", propKey) console.log("elements---->", elements) if(index < 0){ propKey = String(target.length + index) } return Reflect.get(target, propKey, receiver) } } let target = [] target.push(...elements); return new Proxy(target, handle) } let arr = createArray("a","b","c"); console.log(arr[-2]) //b

浙公网安备 33010602011771号