相关疑难解决方法(0)

关于ES6 Arrow函数中`arguments`的官方信息?

(() => console.log(arguments))(1,2,3);

// Chrome, FF, Node give "1,2,3"
// Babel gives "arguments is not defined" from parent scope
Run Code Online (Sandbox Code Playgroud)

根据Babel(以及我可以告诉TC39的初步建议),这是"无效的",因为箭头函数应该使用其父作用域作为参数.我能找到的唯一信息与此相矛盾的是一条评论说这被TC39拒绝,但我找不到任何支持这一点.

只是在这里寻找官方文档.

javascript ecmascript-6 arrow-functions

38
推荐指数
2
解决办法
6226
查看次数

为什么在胖箭头函数中参数对象未定义

如果我们在普通函数内打印参数变量的输出:

var func = function() { console.log(arguments); }
func();
Run Code Online (Sandbox Code Playgroud)

结果是一个对象,其中包含有关上下文的信息(参数值、范围、函数位置...)

但是如果我们用粗箭头重现相同的函数,我们将永远不会得到声明的参数:

var func = () => { console.log(arguments); }
func();

// arguments is not defined
Run Code Online (Sandbox Code Playgroud)

谁能解释一下我们如何从箭头函数获取上下文数据?

javascript arrow-functions

3
推荐指数
1
解决办法
1498
查看次数

标签 统计

arrow-functions ×2

javascript ×2

ecmascript-6 ×1