粗箭头符号和常规功能

时间:2018-08-29 18:34:35

标签: javascript lambda

常规功能:

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);
  });
}

粗箭头正确吗?还是我想念什么?

2 个答案:

答案 0 :(得分:1)

是的,这是正确的。您可以在任何解释器中自己进行测试,包括在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>

答案 1 :(得分:1)

您的例子是正确的。

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);
  });
}

如果它是单个表达式,也可以删除花括号并使用默认return。

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]))