JavaScript,数组Array和Proxy(Array)如何相互转化?
发布于 作者:苏南大叔 来源:程序如此灵动~

在react
和vue
的世界里面,大量存在Proxy(Array)
对象。通常的时候,它的使用方式上和Array
是一致的。并且,它能够拦截Array
的各种操作,进而扩展出自己的功能。“扩展”部分,并不是本文的内容。本文的主要内容是转化,两者如何相互转化。

苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程经验文章。测试环境:chrome@131.0.6778.70
,nodejs@20.18.0
。
Array 变 Proxy(Array)
这个Proxy()
是可以作用于各种变量类型上的,并不是仅仅单独是Array
。本文的内容里面,仅仅想要获得一个普通的Proxy(Array)
,并且并不对它做任何的修改,或者说不设置proxy
最强大的部分handler
。
参考文章:
new Proxy(a,{})
这个输出结果,还是有点小争议。typeof()
类型被判定为object
,nodejs
下输出,并没有Proxy(Array)
字样。而在浏览器里面输出的时候,是带Proxy(Array)
字样的。

proxy(array) 转为 array
读者既然找到了这篇文章,就必然有把proxy(array)
转化为array
的理由。参考方案:
方案一 [...p] 【推荐】

方案二 Array.from(p)

相关文章
- https://newsn.net/say/js-use-strict.html
- https://newsn.net/say/js-object-set-get.html
- https://newsn.net/say/js-object-enumerable.html
- https://newsn.net/say/js-object-configurable.html
结语
没有结语,除了魔改系统函数外,其实也可以通过proxy
的方式,魔改系统变量。就像react
、vue
们所做的那样。


