13.6 箭头函数与常规函数对比

一个箭头函数与一个普通的函数在两个方面不一样:

  • 下列变量的构造是词法的: argumentssuperthisnew.target
  • 不能被用作构造函数:没有内部方法 [[Construct]] (该方法允许普通的函数通过 new 调用),也没有 prototype 属性。因此, new (() => {}) 会抛出错误。

除了那些意外,箭头函数和普通的函数没有明显的区别。例如, typeofinstanceof 产生同样的结果:

> typeof () => {}
'function'
> () => {} instanceof Function
true

> typeof function () {}
'function'
> function () {} instanceof Function
true

参阅可调用实体的那一章,获取更多关于什么时候使用箭头函数和什么时候使用传统函数的信息。

函数表达式和对象字面量是例外,这种情形下必须放在括号里面,因为它们看起来像是函数声明和代码块。

results matching ""

    No results matching ""