자바스크립트에서 화살표 함수는 아래처럼 생겼다.
const callMe = () => {
return '전화해'
}
이렇게 한 줄 짜리 간단한 함수는 return 키워드와 대괄호를 생략해서 한 줄로 작성할 수도 있다.
const callMe = () => '전화해'
여기까지는 익숙하다. 그런데 유튜브에서 제로초 채널에 올라온 자바스크립트 영상을 보다가 화살표가 두 개인 화살표 함수를 보고 순간 당황했다. '저건 뭐지..?'
const callMe = () => () => '전화해'
대괄호가 없으니 return 키워드가 생략된 함수일 것이다. 그렇다면 정신차리고 다시 return을 넣어보면...
const callMe = () => {
return () => '전화해'
}
이제 좀 구조가 보인다. '전화해' 라는 문자열을 반환하는 함수를 반환하는 함수였던 것이다.
(22.04.21 추가: 그리고 이렇게 함수를 리턴하는 함수를 고차함수라고 부른다. 고차 함수는 함수를 리턴하거나 함수를 인자로 받는 함수를 말한다.)
함수 안에 함수가 들어 있어서 화살표가 두 개였던 것이다.

저렇게 화살표가 두 개인 함수를 보면 '아 첫번째 화살표 다음에 오는 것을 리턴한다~' 라고 생각하면 한 눈에 보기 쉬울 것 같다.
+)
제로초 채널에 유익한 영상이 많이 올라오는데 최근 자바스크립트 고급 버전 영상들이 올라오는 것 같다.
화살표 두 개 함수를 봤던 영상은 맨 처음 올라온 영상이고 이후에 올라온 영상들도 정주행 해야지~~
https://www.youtube.com/watch?v=NS1cIsWlFGI
반응형
'Javascript와 아이들' 카테고리의 다른 글
리팩토링 이야기 (0) | 2023.09.22 |
---|---|
xss, csrf 간단하게 (0) | 2022.01.09 |
자바스크립트 비동기 찰떡 비유 (0) | 2022.01.07 |
자바스크립트 Date 를 년,월,일로 바꾸기 / 특정 요일 구하기 (0) | 2021.12.30 |