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

时间:2018-01-26 10:35:39

标签: javascript arrow-functions

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

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

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

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

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

// arguments is not defined

任何人都可以解释我们如何从箭头函数中获取上下文数据?

1 个答案:

答案 0 :(得分:3)

根据MDN

  

箭头函数表达式的语法短于函数表达式,并且没有自己的 this 参数 super ,或 new.target 。这些函数表达式最适合非方法函数,不能用作构造函数。