본문 바로가기
JS/정리

[자바스크립트] 변수 선언

by oda 2022. 12. 15.

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

댓글