Proxyable TypedArray
森建
moriken at kimamass.com
Sat Apr 29 14:24:45 UTC 2017
I got the solution, but it's puzzled.
```js
const uint8 = new Uint8Array([1, 2, 3, 4]);
const proxy = new Proxy(uint8, {
get(target, property) {
const ret = Reflect.get(target, property);
return typeof ret === "function" ? ret.bind(target) : ret;
}
});
proxy.map(e => e + 1); // -> Uint8Array [2, 3, 4, 5]
for(const val of proxy) {
console.log(val); // -> 1, 2, 3, 4
}
```
On 2017/04/29 22:27, 森建 wrote:
> Hi there!
>
> Proxy of TypedArray doesn't have [[TypedArrayName]] and
> [[ViewedArrayBuffer]] slots. so maybe, [22.2.3.5.1
> ValidateTypedArray](http://www.ecma-international.org/ecma-262/7.0/#sec-validatetypedarray)
> throws TypeError like following code.
>
> ```js
> const uint8 = new Uint8Array([1, 2, 3, 4]);
>
> const proxy = new Proxy(uint8, {});
>
> proxy.map(e => e + 1); // -> TypeError
>
> for(const val of proxy) {
> console.log(val); // -> TypeError
> }
> ```
>
> Is this behavior taken into account?
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
More information about the es-discuss
mailing list