繁体   English   中英

粗箭头符号和常规功能

[英]fat arrow notation and regular function

常规功能:

function square(number) {
  return number.map(function (x) {
    return Math.pow(x, 2);
  });
}

粗箭头:

let square = (number) => {
  return number.map(function(x) {
    return Math.pow(x, 2);
  });
}

粗箭头正确吗? 还是我错过了什么?

是的,这是正确的。 您可以在任何解释器中对此进行测试,包括此处的Stack Overflow:

 let square = (number) => { return number.map(function(x) { return Math.pow(x, 2); }); } result.value = square([1,2,3,4]); 
 <output id="result"></output> 

你的例子是正确的。

let square = (number) => {
  return number.map(function(x) {
    return Math.pow(x, 2);
  });
}

如果只有1个参数,也可以省略括号。

let square = number => {
  return number.map(function(x) {
    return Math.pow(x, 2);
  });
}

为什么不在lambda中使用lambda?

let square = number => {
  return number.map( x => {
    return Math.pow(x, 2);
  });
}

您也可以删除花括号并使用默认返回值(如果它是单个表达式)。

let square = number => number.map(x => Math.pow(x, 2));

最后,我们通过使用lambda作为参数并省略粗箭头来对其进行清理。 这是一个易于阅读,可扩展,可重用且非常简洁的工具。

let power2 = x => Math.pow(x,2)
let square = number => number.map(power2);

工作片段。

 let power2 = x => Math.pow(x,2) let square = number => number.map(power2); console.log(square([4,5,6])) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM