gpt4 book ai didi

javascript - Babel 箭头函数编译成 ES5

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:41:27 26 4
gpt4 key购买 nike

使用 Babel我注意到有些奇怪。

const app = () => {} 不应该等于 var app = function() {}

Babel 返回 var app = function app() {}

最佳答案

不,babel 是正确的,因为分配给 var 的箭头函数在理论上应该具有与该 var 名称等效的名称属性,以协助堆栈跟踪和反射。查看this链接以获取更多信息。快速总结以防它过时:

函数的名称属性是在声明时创建的。函数表达式的名称属性是从名称绑定(bind)中推断出来的:

var foo = function() {};
console.log(foo.name); // foo

箭头函数具有相同的行为:

var foo = () => {};
console.log(foo.name); // foo

因为在 ES 2015/ES 6 babel 必须实际添加名称以创建 named function expression 之前,这实际上并没有得到标准化。 :

var foo = function foo() {}; // notice it's function *foo* now

支持遗留环境。

关于javascript - Babel 箭头函数编译成 ES5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45081825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com