首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >作为对象的JavaScript词法环境

作为对象的JavaScript词法环境
EN

Stack Overflow用户
提问于 2018-12-14 04:24:19
回答 1查看 110关注 0票数 1

我不禁注意到JS对象和词法环境(如here)之间的相似之处。两者都是名称/值对的容器。两者都有到另一类事物的链接:在词法环境中是父环境,在JS对象中是原型对象。这两种链接实际上服务于相同的目的:在词法环境的情况下,在词法环境链中查找变量的值,在对象的情况下,在原型链中查找属性的值。

考虑到这种紧密的类比,有没有一种方法可以在JS程序中将词法环境作为对象引用?是否有计划在未来为该语言添加这样的功能?我确信它对某些东西是有用的..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-14 06:56:21

类比被打破的地方有一个重要的区别:词法环境是从静态代码分析创建的,并且不会改变其形状。它们是记录,而不是动态对象。这有助于解释器/编译器优化查找,并防止它们暴露为对象。

只有两个小东西引入了动态作用域:evalwith。(后者允许将动态对象实际放入作用域链中)。正因为如此,他们都被轻视了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53769549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档