这 2 个 JavaScript 语句等效吗? [重复]

问题描述 投票:0回答:2

这两个陈述似乎做了同样的事情。

const handleClick = () => alert('foo');

function handleClick() {
    alert('foo');
}

它们是否相同,只是语法不同?第一个看起来像变量声明,而第二个显然是函数定义。

javascript ecmascript-6 arrow-functions
2个回答
0
投票

不,它们不是同一件事。 箭头函数有一些限制:

  • 没有自己的与 this 或 super 的绑定,并且不应该 用作方法。
  • 没有 new.target 关键字。
  • 不适合 call、apply和bind方法,它们一般依赖于建立一个 范围。
  • 不能用作构造函数。
  • 不能使用yield,在其范围内 身体。

0
投票

ES6 箭头函数为您提供了一种替代方法来编写比函数表达式更短的语法。没有性能差异。

箭头函数比 v8 中的普通独立函数声明更快(性能更高、更轻)吗?

© www.soinside.com 2019 - 2024. All rights reserved.