ES6 箭头函数中的参数:官方说明
在 ES6 箭头函数中,arguments 关键字的行为一直是争论的话题。一些浏览器和平台(例如 Chrome、Firefox 和 Node)偏离了最初的 TC39 建议,引发了对该规范正确解释的质疑。
根据官方 ES6 规范,箭头函数没有其自身的定义。自己的参数在其范围内绑定。调用时,箭头函数不会创建参数对象作为声明实例化过程的一部分。
这与 Chrome、Firefox 和 Node 等浏览器中观察到的行为相矛盾,这些浏览器在箭头函数中创建参数对象。因此,这些浏览器错误地提供了对传递给封闭函数的参数的访问。
另一方面,Babel 遵循官方规范,在箭头函数内访问参数时抛出“ReferenceError”。这与箭头函数作为采用其父作用域进行参数访问的函数的预期行为一致。
因此,正确的理解是箭头函数没有专用的参数绑定。使用箭头函数时,开发人员应使用封闭函数提供的参数对象来访问传递的参数。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3