分配给变量的箭头函数没有变量声明关键字?

时间:2018-08-26 04:00:51

标签: javascript ecmascript-6

我对箭头功能不是很熟悉,并遇到了我不理解的箭头用法。看完有关箭头功能的几篇文章后,似乎变量声明关键字应该在变量名称之前。如果没有,为什么不这样呢? (该代码有效。)

例如,为什么var之前的letconstgetParameterByName不是?

getParameterByName = (name, url) => {
 ...
}

1 个答案:

答案 0 :(得分:0)

在草率模式的JavaScript中,分配给未声明的变量将在全局对象上设置该属性。这(您可以知道,因为存在此问题)令人困惑。

通常,您应始终使用strict mode。许多令人困惑的行为都在严格模式下得到解决,包括您在此处询问的情况。

'use strict';

a = () => {};

如您所见,运行此代码段会产生ReferenceError,因为未声明a