공부 내용
- 자바스크립트에서는 함수를 "특별한 동작을 하는 구조"가 아닌, 특별한 종류의 값의로 취급한다.
= 변수 선언처럼 할 수 있다.(함수표현식을 이용하여)
=> 해당변수에 ()를 붙여 호출 할 수 있다.
=> 다른 값에 할당할 수 도 있다.
ex) let name = function() {...}
- ★ 콜백함수 ★
- 함수를 값처럼 매개변수로 전달하여 활용하는 방식의 코드스타일이 자바스크립트에서 자주 활용된다.
- 함수표현식은 값(=동작을 나타내는 값)이기 때문에, 익명함수로 전달할 수 있다.
- 함수 표현식 vs 함수 선언문
- 함수표현식은 표현식이나 구문구성 내부(할당연산자=등)에 생성된다.하지만, 함수 선언문은 코드 흐름 중간에 독자적인 형태로 존재한다.
- 함수 표현식은 자바스크립트 엔진이 해당 코드에 도달했을 때 생성한다. 하지만 함수 선언문은 자바스크립트 엔진이 정의되기전에 미리 생성한다.
- 함수 표현식은 변수처럼 활용하여 스코프의 기준을 자유롭게 할 수 있지만, 함수 선언문은 정확히 해당 스코프(블록)안에서만 접근할 수 있다.
- 웬만하면 함수 선언문 방식을 이용하는 것을 먼저 고려하는 것을 추천한다. 하지만, 특정 방식에 따라 함수 표현식을 사용해야할 때도 있다.