자바스크립트 화살표 함수를 배우면서 난생 처음보는 문법을 보게 되었다.
화살표 함수에서 화살표가 연이어 나오는 신기한 문법이었다.
function sumNumber() {
return addNumber (1) (2) (3)
function addNumber(a) {
return function (b) {
return function (c) {
return a + b + c
}
}
}
}
console.log(sumNumver())
함수가 함수를 리턴하고 또 함수를 리턴하고 한 번 더 함수를 리턴한다.
이 함수를 화살표 함수로 바꾸는 게 내게 주어진 과제였다. 이게 뭐냐..
sumNumber()함수를 화살표로 바꾸는 것부터 해보자는 마음으로 천천히 차근차근 접근했다.
// 우선 첫번째 return부터 화살표 함수로 바꿔보자.
const sumNumber = () {
return addNumber (1) (2) (3)
const addNumber = (a) => {
return function (b) {
return function (c) {
return a + b + c
}
}
}
}
내가 알고있는 화살표 함수의 모양은
const 함수이름 = () => {}
이렇게 생겼으니 나머지 return부분도 차근차근 풀어가면 된다.
const sumNumber = () {
return addNumber (1) (2) (3)
const addNumber = (a) => (b) {
return function (c) {
return a + b + c
}
}
}
이런식으로 풀어가면 아래와 같은 코드가 된다.
const sumNumber = () {
return addNumber(1)(2)(3)
const addNumber = (a) => (b) => (c)=> a + b + c
}
console.log(sumNumber())
그러나 이것보다 더 간단하게 작성할 수 있는 방법이 있다.
const sumNumber = (a) => (b) => (c) => a + b + c
console.log(sumNumber(1)(2)(3))
함수를 호출할 때 인자를 파라미터를 넘겨주면 보다 깔끔한 코드가 완성된다.