JavaScript 的原型链大家一定不陌生,当访问对象自身没有的属性的时候,js引擎就会通过原型链查找原型中是否有该属性。
如果此时我们把原型链中原型替换成一个Proxy会怎样呢?
引擎就会调用Proxy中的get方法,此时Proxy正好代理的是那个对象,而get方法里面正好又引用到了这个对象会怎样呢?就陷入了死循环,很快栈溢出了。这种情况编译器是无法预测到程序会死循环的。著名的哥德尔不完备定理也告诉我们,想写一个程序能判断任意程序是否会终止(无死循环)是不可能的。
本文分享自 作者个人站点/博客 前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!