본문 바로가기
Programming/Javascript

[6일차] JavaScript에서 변수와 상수 선언하기 (var, let, const)

by tech-living 2024. 11. 12.

목차:

  1. 변수와 상수란?
  2. var, let, const의 차이점
  3. 변수의 선언 및 초기화
  4. 상수 선언하기 (const)
  5. 변수와 상수의 유효 범위 (스코프)
  6. letconst를 사용하는 이유

1. 변수와 상수란?

변수는 프로그램이 실행되는 동안 데이터를 저장하는 역할을 합니다. JavaScript에서는 키워드 var, let을 사용해 변수를 선언할 수 있습니다.

상수는 한 번 설정하면 값을 변경할 수 없는 변수입니다. JavaScript에서는 키워드 const를 사용하여 상수를 선언합니다.


2. var, let, const의 차이점

  1. var:
    •    초기 JavaScript부터 사용된 변수 선언 키워드입니다.
    •    함수 스코프를 가집니다.
    •    블록 범위({ })를 무시하기 때문에 예기치 않은 오류가 발생할 수 있습니다.
  2. let:
    •    ES6(ECMAScript 2015)에서 도입된 변수 선언 키워드입니다.
    •    블록 스코프를 가집니다. 즉, { } 내부에서만 유효합니다.
    •    재할당이 가능합니다.
  3. const:
    •    ES6에서 도입된 상수 선언 키워드입니다.
    •    블록 스코프를 가지며, 값 변경이 불가능합니다.
    •    선언과 동시에 초기화가 필요합니다.

3. 변수의 선언 및 초기화

변수를 선언할 때 varlet 키워드를 사용하며, 초기화는 값을 할당하는 것을 의미합니다.

// var로 선언 및 초기화
var name = "Alice";
console.log(name); // "Alice"

// let으로 선언 및 초기화
let age = 25;
console.log(age); // 25

// 값을 변경할 수 있음
age = 26;
console.log(age); // 26

varlet로 선언된 변수는 나중에 값을 재할당할 수 있습니다.


4. 상수 선언하기 (const)

상수는 const 키워드를 사용하여 선언하며, 값을 변경할 수 없습니다. 선언할 때 초기화가 반드시 필요합니다.

// const로 선언 및 초기화
const PI = 3.14;
console.log(PI); // 3.14

// 값을 변경할 수 없음
PI = 3.14159; // 오류 발생

상수는 한 번 값이 설정되면 변경할 수 없기 때문에, 변경할 필요가 없는 값을 정의할 때 유용합니다.


5. 변수와 상수의 유효 범위 (스코프)

스코프란 변수가 유효한 범위를 말합니다.

  1. 함수 스코프:
    •    var로 선언된 변수는 함수 안에서만 유효합니다. 함수 밖에서 접근할 수 없습니다.
  2. 블록 스코프:
    •    letconst로 선언된 변수는 블록 { } 안에서만 유효합니다.
    •    블록을 벗어나면 접근할 수 없습니다.

예시:

function testScope() {
    var x = 1;
    let y = 2;
    const z = 3;
    console.log(x); // 1
    console.log(y); // 2
    console.log(z); // 3
}
testScope();

console.log(x); // 오류 발생
console.log(y); // 오류 발생
console.log(z); // 오류 발생

x, y, ztestScope 함수 안에서만 유효하기 때문에 함수 밖에서는 접근할 수 없습니다.


6. letconst를 사용하는 이유

JavaScript에서 letconstvar보다 더 안전한 코드 작성을 가능하게 해 줍니다.

  • 변수의 중복 선언을 방지: letconst로 동일한 변수를 두 번 선언하면 오류가 발생하여 실수를 줄일 수 있습니다.
  • 스코프 제어가 용이: 블록 스코프를 따르기 때문에 코드가 복잡해져도 변수의 유효 범위를 쉽게 파악할 수 있습니다.

다음 시간을 위한 준비

오늘은 JavaScript에서 변수를 선언하는 다양한 방법과 유효 범위에 대해 배웠습니다. 다음 시간에는 JavaScript에서 사용할 수 있는 조건문(if, else, switch)을 배워보겠습니다.

감사합니다.