Javascript와 아이들

[javascript] 함수에 화살표가 왜 두 개나 있지....? (+자바스크립트 유튜브 강의 추천)

whale3 2022. 4. 20. 23:42

자바스크립트에서 화살표 함수는 아래처럼 생겼다. 

 

const callMe = () => {
	return '전화해'
}

 

이렇게 한 줄 짜리 간단한 함수는 return 키워드와 대괄호를 생략해서 한 줄로 작성할 수도 있다. 

 

const callMe = () => '전화해'

 

여기까지는 익숙하다. 그런데 유튜브에서 제로초 채널에 올라온 자바스크립트 영상을 보다가 화살표가 두 개인 화살표 함수를 보고 순간 당황했다. '저건 뭐지..?'

 

const callMe = () => () => '전화해'

 

대괄호가 없으니 return 키워드가 생략된 함수일 것이다. 그렇다면 정신차리고 다시 return을 넣어보면...

 

const callMe = () => {
	return () => '전화해'
}

 

이제 좀 구조가 보인다. '전화해' 라는 문자열을 반환하는 함수를 반환하는 함수였던 것이다.

(22.04.21 추가: 그리고 이렇게 함수를 리턴하는 함수를 고차함수라고 부른다. 고차 함수는 함수를 리턴하거나 함수를 인자로 받는 함수를 말한다.)

함수 안에 함수가 들어 있어서 화살표가 두 개였던 것이다. 

 

진짜다...

 

저렇게 화살표가 두 개인 함수를 보면 '아 첫번째 화살표 다음에 오는 것을 리턴한다~' 라고 생각하면 한 눈에 보기 쉬울 것 같다. 

 

 

+)

제로초 채널에 유익한 영상이 많이 올라오는데 최근 자바스크립트 고급 버전 영상들이 올라오는 것 같다. 

화살표 두 개 함수를 봤던 영상은 맨 처음 올라온 영상이고 이후에 올라온 영상들도 정주행 해야지~~

https://www.youtube.com/watch?v=NS1cIsWlFGI 

 

반응형