用||将箭头功能指定为默认值

时间:2019-07-07 10:03:22

标签: javascript ecmascript-6 arrow-functions function-declaration function-expression

所以我正在写一个带有参数的函数(另一个函数),当未定义时将被赋一个默认值。将该默认值指定为()=>{}似乎无效。 但是,当我将默认函数包装在(()=>{})中或编写普通的function()时,它似乎可以正常工作。 类似于下面的代码:


不起作用

const f1 = f2 => {
  f2 = f2 || () => alert("No default Listeners defined!");
}

工作

const f1 = f2 => {
  f2 = f2 || (() => alert("No default Listeners defined!"));
}

const f3 = f2 => {
  f2 = f2 || function() {
    alert("No default Listeners defined!")
  };
}


我能否解释一下为什么第一个不工作而第二个不工作呢?我怀疑这可能与 功能声明 V 功能表达 有关,并且我对此进行了搜索,但找不到正确的解释。具有相同链接的链接也足够。谢谢。

0 个答案:

没有答案