胖箭头在映射中有条件

时间:2018-05-16 09:21:22

标签: javascript typescript

只是想知道在javascript或typescript中是否有办法在元素映射本身中编写胖箭头函数的条件?

当前代码

functionName(data => {
  if(data){
  }
});

是否有语法在data语句到达之前检查if

这样的东西
functionName(data? => {
   if(data){ // This code is then not needed
   }
});

或者

functionName(!data => {
   if(data){ // This code is then not needed
   }
});

因此,如果data为假,它只会传入函数。

由于

2 个答案:

答案 0 :(得分:1)

为什么不在运行该功能之前检查data

functionName(data => {
  if(data){
  }
});

而不是那样,我们使用:

functionName(data => {
  // do something with data
});

data && functionName(data); // call the function when data is valued 

基本上,没有办法将函数作为您的期望检查,因为函数被触发并立即使用您作为参数提供的datadata仅用作函数中的参数,不再用于外部角色。因此,虽然您可以访问data,但这意味着您已经在函数内部。

答案 1 :(得分:0)

基本上你正在做的是使用匿名箭头函数作为参数调用functionName()。箭头函数还有一个名为data的参数。

因此,当您检查数据?时,这意味着您已经使用匿名箭头函数作为参数调用了functionName。所以基本上,我认为你不能做你所要求的。