event 객체로 중복 제거하기
•
[⇒]는 중괄호와 return을 생략 할 수 있다.
const onClickNumber = (number) => (event) => { // 함수가 함수를 리턴한다
if (operator) { // 비어있지 않다
numTwo += number;
} else { // 비어있다
numOne += number;
}
$result.value += number;
}
}; // 고차 함수 (high order function)
JavaScript
복사
•
event는 브라우저에서 제공하는 것, 브라우저가 함수를 실행하면서 인수로 event를 같이 넣어준다.
const func = (msg) => {
return () => {
console.log(msg);
};
};
JavaScript
복사
이제 func 함수를 호출하면, func 함수에 넣은 매개변수를 console.log 하는 함수가 반환된다.
const innerFunc1 = func('hello');
const innerFunc2 = func('javascript');
const innerFunc3 = func();
innerFunc1(); // hello
innerFunc2(); // javascript
innerFunc3(); // undefined
console.log(); // 빈 값은 undefined 반환
JavaScript
복사
앞의 코드를 다음과 같이 바꿀 수도 있다.
const func = (msg) => () => {
console.log(msg);
};
JavaScript
복사
전체 코드


