var를 사용한 변수의 특징
지역변수
- 함수 안에서 선언하고 함수 안에서만 사용한다.
- var와 함께 변수이름을 지정한다.
전역변수
- 스크립트 소스 전체에서 사용한다.
- 함수 밖에서 선언하거나 함수 안에서 var 없이 선언한다.
※ 스코프
- 변수가 적용되는 범위
- 스코프에 따라 지역변수(로컬 변수)와 전역 변수(글로벌 변수)로 나뉜다.
<script>
//함수 선언
function variable() {
variable1 = "전역변수";
var variable2 = "지역변수";
}
variable(); //함수 호출
console.log(variable1); //variable1은 전역변수로 선언되어 콘솔에 출력이됨
console.log(variable2); // variable2가 지역변수이기 때문에 오류가 생김
</script>
더보기

전역변수 / 지역변수 실행 결과
실행결과

let을 사용한 변수의 특징
블록변수
- 블록 ({ })안에서만 사용할수 있다.
- 전역변수는 변수 이름과 초깃값만 할당하면 된다.
- 재할당은 가능하지만 재선언은 할수 없다.
- 호이스팅이 되지않는다.
const를 사용한 변수의 특징
상수
- 변하지 않는 값을 선언할 때 사용한다.
- 재선언 및 재할당을 할 수 없다.
const currentYear = 2020;
console.log(currentYear);
currentYear = 2100; // 오류발생 (상수는 재할당이 불가능하다.)
console.log(currentYear);
재선언
- 이미 선언한 변수를 다시 선언할 수 있다. (다른 언어에선 지원하지 않는다.)
재할당
- 같은 변수에 다른 값을 할당할 수 있다.
※ 재선언과 재할당이 가능하면 실수로 변수를 잘못 조작할 확률이 높아지므로 주의해야한다.
호이스팅
- 변수를 뒤에서 선언하지만, 마치 앞에서 미리 선언한 것 처럼 인식한다.
- 함수 실행문을 앞에 두고 선언 부분을 뒤에 두더라도 앞으로 끌어올려 인식한다.
var x = 10;
function displayNumber() {
console.log("x is " + x); // x is 10
console.log("y is " + y); // y is undefined (호이스팅으로인해 undefined 출력)
console.log("z is " + z); // 오류 (호이스팅이 되지않아 선언되지 않았다는 오류 출력)
var y = 20;
let z = 30;
}
displayNumber();
∨ 자바스크립트 변수 선언
- 전역 변수는 최소한으로 사용한다.
- var 변수는 함수의 시작부분에서 선언한다.
- for문에서 카운터 변수는 var변수 보단 let 변수로 선언한다.
- ES6를 사용한다면 var변수 보다 let 변수를 사용하는것이 좋다.
'JS > 정리' 카테고리의 다른 글
[자바스크립트] 이벤트 (0) | 2022.12.15 |
---|---|
[자바스크립트] 함수 (0) | 2022.12.15 |
[자바스크립트] 변수 (0) | 2022.12.15 |
[자바스크립트] 반복문 (0) | 2022.12.01 |
[자바스크립트] 조건문 (0) | 2022.12.01 |
댓글