호이스팅
- 호이스팅은 선언을 위로 끌어올리는 것이다.
- 이는 실행 컨텍스트의 렉시컬 환경의 생성에 따른 동작방식이다.
- var, function, let & const는 모두 호이스팅이 된다.
- 다만 다르게 초기화된다.
- var (undefined), function 선언문 (선언 자체가 초기화), let & const : uninitialized로 초기화
function 선언문 호이스팅의 활용
- 리액트 컴포넌트에서 에서 let & const 로 핸들러를 선언하면 view(return) 위에 선언해야한다.
- 다수의 핸들러들은 가독성을 해치기도 한다.
- 리액트 컴포넌트는 상태값의 변화에 따라 뷰를 뱉어내는 덩어리라고 정의해볼 수 있다.
- 상태값과 view를 가장 중요한 요소라고 보았을 때,
- function의 호이스팅 특성(값으로 초기화되는)을 활용해서 핸들러들을 view 아래에 선언한다면
- 가독성을 높이는 방법이 될 수 있다.