변수 선언 방식
- var : 중복 선언과 재할당이 가능하다.
- 소스 코드가 복잡해질 경우 기존 선언해둔 변수를 잊고 다시 선언하거나 재할당을 해서 어떤 부분에서 값이 변경되는지 파악하기 힘들 수 있다.
- (이로 인해 변수 할당을 할 때는 var를 잘 사용하지 않는다.)
- 소스 코드가 복잡해질 경우 기존 선언해둔 변수를 잊고 다시 선언하거나 재할당을 해서 어떤 부분에서 값이 변경되는지 파악하기 힘들 수 있다.
- let (ES6) : 중복 선언은 불가하며, 재할당은 가능하다.
- const (ES6) : 중복 선언과 재할당 둘 다 불가능하다.
Scope(유효한 참조 범위)
- var : function-level scope (함수 레벨 스코프)
function func() {
if(true) {
var a = 'a';
console.log(a);
}
console.log(a);
}
var는 함수 안에서 조건문 블럭에 생성이 되어도 함수 내부라면 조건문 블럭에 상관없이 어디서든 사용할 수 있다.
- let / const : block-level scope (블록 레벨 스코프)
function func() {
if(true) {
let a = 'a';
console.log(a);
}
}
let과 const는 조건문 같은 블록 안에서 선언 되었다면 그 블록 안에서만 사용할 수 있다. (자바와 같은듯)
'FrontEnd' 카테고리의 다른 글
[React] React.js 시작하기 (0) | 2023.11.02 |
---|---|
[JS] Window 객체 (0) | 2023.10.19 |
[JS] 호이스팅 (Hoisting) (0) | 2023.10.19 |