본문 바로가기

JAVASCRIPT

[JavaScript] 함수선언문, 함수표현식과 호이스팅(Hoisting)

728x90
반응형
function a() {

}

var a = function() {

};

javascript에서 함수를 변수에 담을 수 있다. 이렇게 사용하는 것을 함수 표현식 이라고 한다.

그리고 function a()와 같이 함수를 선언하는 것을 함수 선언문 이라고 한다.

 

함수 표현식과 함수 선언문의 차이 ?? => 호이스팅

호이스팅(Hoisting)의 사전적 의미는 끌어 올리다 라는 뜻을 가지고 있다.

여기서도 같은 의미로 쓰인다. 함수 안에 있는 변수나 함수 맨위로 끌어올린다는 것이다.

실제로 코드가 끌어올려지는 것은 아니며, 자바스크립트 Parser가 내부적으로 끌어올려서 처리한다.

 

호이스팅의 대상 => var , 함수 선언문

let, const, 함수 표현식은 해당되지 않는다.

 

호이스팅 규칙 : 부등호가 큰 쪽이 먼저 인식된다.

  • 변수 선언 > 함수 선언
  • 할당되어있는 변수 > 할당되지 않은 변수
728x90
반응형

'JAVASCRIPT' 카테고리의 다른 글

AJAX 정리  (0) 2022.11.14
[JavaScript] URLSearchParams - url로 파라미터 가져오기  (0) 2022.11.08
[JavaScript] 함수  (0) 2022.11.01
문자 길이 체크 함수(mySQL 기준)  (0) 2022.10.24
데이터 속성(DATA-XXX)  (0) 2022.08.30