1. var
1) var와 let의 차이
let의 경우 선언을 뒤에해주면 변수 사용이 불가능하다.
console.log(name); // reference error -> Temporal Dead Zone (TDZ)영역에 있으므로 에러처리
let name = 'Mike';
단, var을 사용하면 사용 가능하다.
console.log(name); // 호이스팅.
var name = 'Mike';
- 변수의 기본 단계
(1) 선언 단계
(2) 초기화 단계
(3) 할당 단계
= var의 경우 선언 - 초기화 동시, 할당은 분리되어 진행
= let의 경우 선언, 초기화, 할당 단계 분리되어 진행
= const 의 경우 선언 - 초기화 - 할당이 동시에 진행 가능
let name;
name = 'Mike';
var age;
age = 30;
const gender; // 에러 발생 - 선언하며 할당을 하지 않았기 때문임.
gender = 'male'
2) 스코프
var : 함수 스코프 (함수 내에서 선언된 변수만 그의 지역변수가 되고 다른 곳에선 전역변수가 된다.)
let, const : 블록 스코프 ( if, for, while, try/catch 문, 함수 등 블록 내에서 선언된 변수는 블록 내에서만 유효, 외부에서 접근 불가)
const age = 30;
if(age > 19) {
var txt = '성인'; // 블록 바깥에서도 사용 가능
let txt2 = '가능'; // 블록내에서만 사용 가능
}
console.log(txt);
function add(n1, n2){
var result = n1 + n2; // 함수 내에서만 사용 가능
}
add(2,3);
console.log(result); // 이 경우 에러 발생
tip 가급적이면 함수 사용시, var는 사용하지 않고 let, const만 사용하는 것을 권장
'Web > JavaScript' 카테고리의 다른 글
[중급 JavaScript2] 생성자 함수 (0) | 2021.11.16 |
---|---|
[Java Script 1 ] JS 기본 문법 (0) | 2021.11.16 |