Hoisting,closure

정중식·2023년 1월 23일
0

자바스크립트

목록 보기
3/20

코딩애플의 자바스크립트 강의를 보며 정리한 내용

1.Hoisting

호이스팅 현상이란, 자바스크립트는 변수나 함수의 선언부분을 변수의 범위 맨 위로 강제로 끌고가서 해석해주는데, 이것을 호이스팅이라고 한다.

잠깐! 변수,함수의 선언이란?
변수의 선언 : var 이름; let 나이; const 성별;
변수의 할당 : var 이름 = 'kim';
함수의 선언 : function 함수 (){ ... }

예를 들어,

function 함수(){
  
  console.log('hello');
  var 이름 = 'Kim';
  
}

이렇게 함수 내에서 변수를 만들면, 자바스크립트는 다음과 같이 해석한다.

function 함수(){

var 이름;
console.log('hello');
이름 = 'Kim';

}

변수의 선언 부분을 강제로 변수의 범위 맨 위로 끌고가서 해석한다.

2. closure

클로저란, 바깥에 있는 변수는 안쪽에서 자유롭게 사용가능한 것을 말한다.

안쪽 바깥쪽이란,

var 나이 = 20;

function 함수(){
  console.log(나이)
}

함수();

함수(){} 안쪽에서 바깥쪽에 있는 나이라는 변수를 가져다 쓸 수 있다.
만약, 함수내에 똑같은 나이라는 변수가 있다면 그걸 먼저사용하겠지만, 없으면 자연스럽게 바깥에있는 변수를 가져다 쓴다(참조한다.)

profile
내 가치를 찾아서

0개의 댓글