[Javascript] var, let, const 차이
값 변경
var a = 10;
a = 11;
let b = 10;
b = 11;
const c = 10;
c = 11; //error
const 는 상수이기 때문에 한번 지정한 값을 바꾸려고 하면 에러가 난다.
호이스팅
console.log(a);
var a = 10;
console.log(b);
let b = 10; //undefined error
console.log(c);
const c = 10; //undefined error
var 는 호이스팅이 되지만 let 과 const 는 호이스팅이 되지 않는다.
이때 호이스팅이랑 함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위의 최상단에 선언하는 것을 말한다.
자바스크립트 함수는 실행되기 전에 함수 안에 필요한 변수값들을 모두 모아서 유효 범위(함수 블록)의 최상단에 선언한다.
재선언
var a = 10;
var a = 20;
let b = 10;
let b = 20; //SyntaxError
const c = 10;
const c = 20; //SyntaxError
재선언은 var 만 가능하다.
즉 정리하자면
값 변경 | 호이스팅 | 재선언 | |
var | O | O | O |
let | O | X | X |
const | X | X | X |
참고
https://itholic.github.io/js-var-let-const/
728x90
반응형
'WEB' 카테고리의 다른 글
[Node.js] console input / 404 not found 출력 / file list 가져오기 (0) | 2020.06.30 |
---|---|
[Node.js] url parse / File read (0) | 2020.06.29 |
[PHP] 데이터 정제 (0) | 2019.12.10 |
[Django/Blog] DB에서 데이터를 가져와 템플릿에 적용 (0) | 2019.12.08 |
[Django/Blog] Django ORM & QuerySets (0) | 2019.12.07 |