var, const, let
기초/JavaScript2021. 9. 6. 20:11
var vs const, let
ES2015부터는 var를 const와 let이 대체한다.
무슨 차이인가? → 블록 스코프(var은 함수 스코프)
if, for, while등의 중괄호({}) 안을 블록이라고 한다.
if (true) {
var x = 3;
}
console.log(x); //3 출력
if (true) {
const y = 3;
}
console.log(y); //ReferenceError: y is not defined
x : 블록은 빠져나갈 수 있지만, function의 중괄호 밖으로는 빠져나갈 수 없다. = 함수 스코프를 존중한다.
y : 블록을 빠져나갈 수 없다. = 블록 스코프를 존중한다.
const와 let의 차이?
const a = 3;
a = '5'; //Error
const b = {name: 'kimdoodoo'};
b.name = 'kimdoodoo';
const는 한 번 선언하고 나면 정확히 그 변수에 대해서는 다시 값을 지정할 수 없다.
b처럼 b라는 객체 내의 값을 바꾸는 것은 가능하다, a나 b 자체의 값을 바꾸는 것은 불가능하다.
→ const c; 이런 거 하면 나중에 에러남.
나중에 값을 바꾸고 싶다면 let을 사용하는 것이 좋다.
const는 실수로 값을 바꾸는 일을 막아야 하는 곳에 사용한다.
참조 : 제로초(zerocho)님 인프런 강의, https://ko.javascript.info/var
'기초 > JavaScript' 카테고리의 다른 글
화살표 함수와 function (0) | 2021.09.06 |
---|---|
호출 스택, 이벤트 루프 (0) | 2021.09.02 |
객체 지향 프로그래밍 (0) | 2021.06.23 |
댓글()