변수를 선언할 때는 let
이라 배웠는데 var
도 변수를 선언할때 사용하는 키워드라고 한다.
결과:
스코프란 변수 접근범위를 뜻하는데,
let
으로 선언한 변수는 블록단위에서 접근할 수 있지만 var는 함수 또는 전역 스코프이다.
var
변수는 문제없이 실행되는 반면,
let
을 사용하였더니
ReferenceError: message is not defined
error가 생겼다.
함수 스코프인 var
변수는 선언하기 전에 값을 할당하고 사용할 수 있다.
결과:
블록 스코프를 무시하기 때문에 이런 말도 안되는 코드도 실행이 된다.-_-
결과:
let
은 같은 변수명을 여러번 선언할 수 없지만
var
는 가능 하다.
✔ var사용하지 않기
✔ 옛날 코드를 봐야하는 경우 주의하기!