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 |