Higher order functions

https://developer.ibm.com/node/2016/01/11/higher-order-functions-in-es6easy-as-a-b-c/

  • 둘 중 하나만 만족하면 higher order functions이다
    1. 하나이상의 function을 argument로써 받는다.
    2. 결과로 function을 리턴한다.
function add(x){
  return function(y){
    return y + x;
  };
}

var addTwo = add(2);
addTwo(3);          // => 5
add(10)(11);        // => 21
const add = x => y => y + x;
//outer function: x => [inner function, users x]
//inner function: y => y + x;
  • 왜씀?
    • 반복되는 코드를 줄일 수 있다.
    • 코드의 쉬운 재사용을 허락한다.
    • It increases clarity of code meaning
var error = function(prefix) {
  return function fn(message) {
    console.error(prefix + message);
  };
};
  • Higher-order function is a function accepting one or more function parameters as input, or returning a function as output.

'Front-End > Javascript' 카테고리의 다른 글

[JavaScript] !! operation  (0) 2018.03.15

+ Recent posts