될때까지

var, const, let 본문

학습/Node.js

var, const, let

랖니 2022. 8. 21. 00:16
728x90

var vs const, let

if (true) {
    var x = 3;
}
console.log(x)   // 3이라고 출력함!

if (true) {
    const y = 3;
}
console.log(y)  // Uncaught ReferenceError : y is not defined

var는 더이상 쓰지 않도록 권장되는 변수지만, 옛날 코드들에서는 var로 선언했으므로 해당 코드를 봤을 때 이해할 수 있어야 한다.

💓 var과 const, let의 가장 큰 차이점은 블록 스코프다. if문 안에서 const로 선언한 y는 {}블럭 밖에서 y를 인지하지 못하지만, var로 선언했던 x변수는 if문 밖에서도 x를 찾아온다. wow var은 무적인가 싶지만 var는 함수 스코프를 존중하므로 아래의 코드에서 함수 내부에서 선언했던 z변수를 밖에서는 z가 뭔대?나 그거 몰라 하고 에러를 뱉는다.

function a() {
    var z = 3;
}
console.log(z);   // 에러! 못찾음!!

 

const vs let

const a = 3;
a = 5;      // '=' 대입을 한번만 가능하다.

const c;   // error

let b = 7;
b = 10;
b = 11;  // let은 계속 변경 가능하다.

const는 '=' 대입연산자를 딱 한번만 사용할 수 있다. 그래서 선언과 동시에 꼭 값을 할당해줘야하고 한번만 사용할 수 있기 때문에 상수!! 변하지 않는 수를 변수로 지정하고자 할 때 사용한다.

let은 값이 변해야 하는 상황일 때 사용한다.

 

728x90

'학습 > Node.js' 카테고리의 다른 글

클래스  (0) 2022.08.21
구조분해할당  (0) 2022.08.21
화살표 함수  (0) 2022.08.21
템플릿 문자열, 객체 리터럴  (0) 2022.08.21
호출 스택과 이벤트 루프  (0) 2022.08.21