본문 바로가기

JavaScript/[theory]

[함수] #2. let과 constant로 변수 선언하기

728x90
반응형

변수의 적용 범위

자바스크립트에서 변수를 선언하고 사용할 때 변수가 적용되는 범위를 스코프라고 한다. 자바스크립트뿐만 아니라 다른 프로그래밍 언어에서 변수가 어디까지 유효하고 어디까지 범위가 선언되는지 항상 주의해야 한다.

 

이때, 한 함수 내에서만 사용이 가능하고 다른 함수에서는 사용이 불가한 변수가 있는가 하면 다른 함수에서도 상관없이 사용이 가능한 변수가 존재한다. 여기서 한 함수 안에서만 사용할 수 있는 변수지역변수라고 한다. 반대로 다른 함수에서도 사용이 가능한 변수전역 변수라고 한다.

 

지역변수 한 함수 안에서만 사용할 수 있는 변수
전역 변수 다른 함수에서도 사용이 가능한 변수

 

지역 변수는 전역 변수에 영향을 주지 않으나, 전역 변수와 지역 변수가 이름이 같으면 헷갈릴 수 있으므로, 생성 시 이름에 주의한다. 더불어 지역변수는 선언자 var을 이용해 선언하는 반면 전역 변수는 선언자를 사용하지 않고 그냥 선언한다.

var를 사용한 변수의 특징

자바스크립트에서 var 변수를 사용할 때 조심해야 할 개념이 있는데, 호이 스팅이라는 것이다.

호이 스팅은 변수의 선언과 할당을 분리해서 선언 부분을 스코프의 가장 위쪽으로 끌어올리는 것을 말하며 예를 들어 함수의 실행 코드가 함수의 선언보다 먼저 순서상 위에 있어도 함수 선언을 먼저 읽는다는 것이다.

let과 constant를 사용한 변수의 특징

var 예약어는 지역 변수와 전역 변수를 구분하므로 예약어를 잊게 되면 개발자가 의도한 대로 실행이 되지 않거나 불필요한 메모리를 차지하게 되는 경우가 생긴다. 그래서 ES6에서는 변수를 선언하기 위한 예약어로 letconstant를 사용한다.

let 변수

let 예약어로 선언한 변수는 변수를 선언한 블록( {} ) 내에서만 유효하다.

만약 전역 변수를 선언하고 싶다면 let 예약어를 사용하지 않고 변수명과 초기값만 선언하면 된다.

 

let 예약어를 사용하여 선언한 변수는 값을 재할당할 수 있지만 변수를 재 선언할 수는 없다. 따라서 같은 변수의 이름을 사용할 걱정을 줄게 된다.

const 변수

const로 선언한 변수는 상수이다. 상수는 프로그램 안에서 변하지 않는 값을 뜻한다. 즉, 변하지 않는 값을 변수로 선언할 때 const 예약어를 사용한다. const로 할당한 변수는 재선언하 거나 재할당 할 수 없으며 let과 같이 블록 레벨의 스코프를 가진다.

728x90
반응형

'JavaScript > [theory]' 카테고리의 다른 글

[함수] #4. 함수와 이벤트  (0) 2022.10.05
[함수] #3. 함수 표현식  (0) 2022.10.04
[함수] #1.함수의 정의와 실행  (0) 2022.10.02
[제어문] #3. for 문(2)  (1) 2022.09.30
[제어문] #3. for 문(1)  (0) 2022.09.29
댓글