본문 바로가기

Web 기초

[Web] 웹 기초 (12) - JavaScript #5 var, let

자바스크립트 변수 - var, let

* 참고

const : 변수가 재할당되지 않는 상수. 변경하지 않는 값이라면 let보다는 const 사용 권장

 

  • var는 전역변수 : for 블럭에서 사용하고 console에 출력해도 값을 가지고 있다.
  • let은 for블럭에서 사용하고 버려지기 때문에 블럭밖에서 출력하려고 하면 undefined 오류가 뜬다.

 

var는 항상 재선언할 수 있다. (let은 에러남)

 

이미 선언된 변수라서 다시 선언할 수 없다는 오류

 

선언된 함수 내에서만 사용할 수 있다. function b에서는 사용 X

함수가 달라지면 영역이 달라져서 쓰이지 못 함.

 

var도 아니고 let도 아니고 그냥 irum 쓰면 사용가능

var, let 제외하고 변수명만 쓰면 undefined가 뜨지 않음.

 

  • var는 hoisting 처리가 돼서 변수가 먼저 메모리에 올라간 뒤에 처리됨
  • let은 hoisting 처리가 되지 않아서 사용전에 선언을 꼭 해줘야 한다.
  • let 예시에서 let을 빼면 전역형 변수가 돼서 age가 0이 출력됨.

 

function으로 선언된 키워드는 스크립트 로딩되면서 메모리에 올라감 (hosting 된 함수)

  • function a가 먼저 선언되지 않았음에도 불구하고 a를 호출해서 쓸 수 있음

 

이렇게 함수를 변수 f에 담아서 실행하는 경우에는 함수를 먼저 호출할 수 없다. 먼저 선언한 후에 사용할 수 있음 (hoisting되지 않은 경우)

 

  • 사용되기도 전에 메모리에 올라가는 것 : 메모리소모가 많음 => 가급적이면 var보다 let을 쓸 것