如何在JavaScript中创建全新的关键字?

问题描述 投票:-1回答:1

我正在尝试弄清楚箭头功能如何工作。

例如箭头函数不能用作带有新关键字的构造函数。另外,箭头功能不存在prototype属性。

我知道他们绑定到词法上。 但是我们的浏览器如何理解箭头功能。我如何理解箭头功能的基础工作。

如何向JavaScript添加新功能以及浏览器如何理解它?

javascript ecmascript-6 browser arrow-functions
1个回答
1
投票

如何向JavaScript添加新功能以及浏览器如何理解它?

通过Ecma TC39委员会管理的the TC39 process将新语法(如箭头功能)和对象(如Promises)添加到语言中。

Ecma TC39委员会负责发展ECMAScript编程语言并编写规范。

您可以在此处看到链接,以大致了解建议书必须经历的各个阶段才能被添加到语言中。一旦添加到语言中,将在the official specification中详尽地描述新的关键字或对象,该关键字或对象旨在描述有关如何实现某事物的all详细信息。人们将重点放在使事物尽可能具有确定性。为了实现跨环境的兼容性,委员会必须在尽可能多的情况下找出精确的语义。通常需要聪明人进行大量讨论和思考。

一旦对提案的描述已基本完成,并且提案已进入第3阶段(在第一个链接中进行了更详细的描述),则预计环境将开始实施该提案。因此,例如,在这一点上,您可能希望Chrome(V8)和/或Firefox最终开始发布新的浏览器版本,其中可能包含对新语法(关键字,对象等)的支持,]

一旦该提案具有一些“现场”实现,并且一切似乎都按预期执行,则ECMAScript编辑器会将新提案集成到正式规范中,并且可以说该提案已“完成”。 。

该过程的另一个摘要可以找到here


特别是对于箭头功能,它们是在ES2015中添加的,因此浏览者在2015年左右的某个时候开始修改其Javascript解释器,以按规范要求处理箭头功能。 2015年以后的大多数浏览器版本都了解箭头功能; 2015年之前的浏览器不支持。 (因此,例如,2013年的IE11不会并且永远不会理解箭头功能-箭头功能的规范在浏览器版本发布后就发布了。)

© www.soinside.com 2019 - 2024. All rights reserved.