Node/알아두어야 할 자바스크립트

var, const, let

webmaster 2022. 7. 22. 13:55
728x90

var

ES2015 이전에는 var 로 변수를 선언

  • ES2015부터는 const와 let이 대체
  • 가장 큰 차이점 :블록 스코프(var 함수 스코프)
if (true) {
  var x = 3;
}
//var 같은 경우 블록스코프를 무시해서 접근 가능하다
//function 으로 감싸져 있는 function 스코프 밖에서는 사용할 수 없다
console.log(x); 

if (true) {
  const y = 3;
}
// Uncaught ReferenceError: y is not defined
console.log(y); //블록 스코프 밖에서 const 접근시 오류가 난다

기존: 함수 스코프(function() {}이 스코프의 기준점)

  • 다른 언어와는 달리 if나 for,while은 영향을 미치지 못함
  • const와 let은 함수 및 블록('{}')에도 별도의 스코프를 가짐
function a() {
	var y = 3;
}
console.log(y); //에러

const / let

const a = 3; //const에는 대입 연산자를 한번만 쓸 수 있다
a = '5'; //에러

const b = { name:'zerocho'};
b.name = 'nerocho'; //가능

//const c; //에러
//let c; let을 사용하면 값을 변경할 수 있다.
let c = 5;
c = 3;
c = 10;
  • const는 상수
    • 상수에 할당한 값은 다른 값으로 변경 불가
    • 변경하고자 할 때는 let으로 변수 선언
    • 상수 선언 시부터 초기화가 필요함
    • 초기화를 하지 않고 선언하면 에러
  • let을 사용하면, 값을 변경할 수 있다

 

728x90

'Node > 알아두어야 할 자바스크립트' 카테고리의 다른 글

비구조화 할당  (0) 2022.07.22
화살표 함수  (0) 2022.07.22
템플릿 문자열, 객체 리터럴  (0) 2022.07.22
이벤트 루프  (0) 2022.07.22
호출 스택 알아보기  (0) 2022.07.22