There are various shenanigans around the Proxy API, including issues with Array.isArray and Object.ownKeys so that this gits purpose is to describe all the undocummented caveats to help anyone dealing with all possibilities this half-doomed API offers.
- object: any non primitive value can be proxied but
applyandconstructtraps won't work with it. If the object somehow wants to represent an array without being one, it's impossible to surviveArray.isArraybrand check (it will befalse) and withownKeysthe target needs to have a non configurablelengthproperty or it will also fails once reached - array: it's like object but it survives the `