let create_array = function(...element){ let target = []; target.push(...element); return new Proxy(target,{ get(target, p, receiver) { let index = Number.parseInt(p); if(index<0){ index = target.length + index } return Reflect.get(target, index, receiver) } }) } let arr = create_array(1,2,3,4); console.log(arr[-1]);