나의 개발 성장일지

var let const 차이정리(스코프,호이스팅) 본문

개인 프로젝트/쇼핑몰 만드는 과정

var let const 차이정리(스코프,호이스팅)

qkq5821 2023. 1. 3. 21:52

1.var와 let의 범위 

 

스코프

 

 

 

1-1 var의 범위는 함수이므로 블록안에 선언해도 사용가능 let은 블록범위라서 밖에서 사용불가능

var의 범위는 함수이므로 블록안에 선언해도 사용가능 let은 블록범위라서 밖에서 사용불가능

1-2 블록이란 {} 내부를뜻한다.

 

1-3 브라우져->윈도우객체(브라우져정보)->단1개 모두공유하는전역객체

->var를 전역변수로사용시 윈도우객체에 속성추가

->let은 전역변수로 사용시 윈도우객체에 속성추가 안함

 

1-4 var는 스코프에서 중복선언 가능 let은 불가능

 

 

호이스팅

 

1-1  프로그램실행전 변수와 선언과 초기화를 분리한다

 

1-2 변수의선언만 프로그램 맨위로 끌어올려준다

 

1-3 var는 호이스팅될때 undefined로 초기화가된다.

 

1-4 let은 선언과 초기화 둘다 하지않으면 호이스팅을 해주지않는다

->호이스팅은 하지만 변수를 초기화하지않는다.

->선언문이전에 접근불가

 

 

const

 

1-1 한번값을 할당하면 바뀌지않음

 

1-2 선언만할수는 없다 선언과 초기화 둘다 해야함

 

1-3 const를 객체에사용하는경우 객체 내부정보는 변화가능하나 주소값을 변경시킬수는없다.