【问题标题】:Why in Fat arrow functions arguments object is undefined [duplicate]为什么在胖箭头函数参数对象未定义[重复]
【发布时间】:2018-07-05 16:39:26
【问题描述】:

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

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

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

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

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

// arguments is not defined

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

【问题讨论】:

  • “上下文数据”是什么意思?
  • 被调用者、调用者和长度。例如,它们是三个有用的属性,用于了解我从哪里被调用。
  • 抱歉创建了重复的问题,没有看到它们。

标签: javascript arrow-functions


【解决方案1】:

根据MDN

箭头函数表达式的语法比函数表达式短,并且没有自己的thisargumentssuper new.target。这些函数表达式最适合非方法函数,它们不能用作构造函数。

【讨论】:

    猜你喜欢
    • 2016-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2020-08-13
    • 2017-03-02
    • 2017-06-01
    相关资源
    最近更新 更多