이론/JS

[JS] Q. 함수 선언문과 함수 표현식의 차이는?

millfeel1298 2021. 1. 2. 20:01

요약

  1. 함수는 값입니다. 따라서 함수도 값처럼 할당, 복사, 선언할 수 있다.
  2. “함수 선언(문)” 방식으로 함수를 생성하면, 함수가 독립된 구문 형태로 존재하게 된다.
  3. “함수 표현식” 방식으로 함수를 생성하면, 함수가 표현식의 일부로 존재하게 된다.
  4. 함수 선언문은 코드 블록이 실행되기도 전에 처리됩니다. 따라서 블록 내 어디서든 활용 가능하다.
  5. 함수 표현식은 실행 흐름이 표현식에 다다랐을 때 만들어진다.

Q.  함수 선언문과 함수 표현식 중 무엇을 선택해야 할까?

함수를 선언해야 한다면 함수가 선언되기 이전에도 함수를 활용할 수 있기 때문에, 함수 선언문 방식을 따르는 게 좋다. 함수 선언 방식은 코드를 유연하게 구성할 수 있도록 해주고, 가독성도 좋습니다.

 

함수 표현식은 함수 선언문을 사용하는게 부적절할 때에 사용하는 것이 좋습니다. 


[공부 좌표]

함수 표현식 vs 함수 선언문

함수 선언문 / 함수 표현식