有人可以解释此代码的工作原理吗?

时间:2019-04-22 16:35:49

标签: javascript

因此,我知道这与JS中的高阶函数有关,但我只是不明白我们如何在此处传递m的值。另外,在声明变量greaterThan10之后,将值传递给它会做什么?

function greaterThan(n) {
  return m => m > n;
}
let greaterThan10 = greaterThan(10);
console.log(greaterThan10(11));
// → true

1 个答案:

答案 0 :(得分:3)

m => m > n函数的简写语法。
这意味着调用greaterThan(10)将创建一个也可以这样编写的函数:

function greaterThan10(m) {
  return m > 10; // this is still `m > n`, however, `n` cannot be changed from outside of the scope
}

基本上,mgreaterThan(10)返回的函数的参数,而n是传递给它的值,在这种情况下为10

技术术语为 箭头函数表达式 。您可以在MDN web docs上详细了解它。