Gidhub BE Developer

함수 선언(Declaration)과 함수 표현(Expression)

2018-11-12
goodGid

함수 선언(Declaration)과 함수 표현(Expression)


  • 익명 함수가 선언되고 정의되는 방식을 순서대로 살펴보자

  • 선언한 함수를 변수 c에 할당한다.

  • 이게 함수 표현식의 개념이다.

  • 함수 선언과 함수 표현의 차이는 할당 여부에 있다.

  • 할당을 하지 않으면 전체가 호이스팅의 대상이 되고
    그냥 function a(){} 형태

  • 할당하면 함수는 그자리에 있고 변수만 호이스팅된다.
    a = function a(){} 형태


  • 호이스팅 여부는 실무에서 굉장히 중요한 이슈이다.

  • 협업을 하는 도중 함수가 호이스팅이 된다면 의도치 않은 함수를 사용할 가능성이 높아진다.

  • 그렇기 때문에 안전하고 함수 선언 대신 함수 표현을 사용하여 예측 가능한 코딩을 지향하자.


Recommend

Index