변수
in Dev / Javascript on JavaScript
변수
데이터를 저장하고 참조하기 위한 식별자 또는 이름
변수는 데이터의 상태를 저장하고, 그 상태를 프로그램에서 사용하거나 변경할 수 있도록 해준다. 자바스크립트에서는 다양한 데이터 타입(문자열, 순자, 배열, 객체, 함수 등)을 변수에 저장할 수 있다.
var
- var로 선언한 변수는 동일한 이름으로 여러 번 중복해서 선언이 가능하다.
- 기존에 선언해 둔 변수의 본래를 잊고 값을 재할당하는 등의 실수가 발생할 가능성이 크다. 특히 코드량이 많아졌을 때 같은 이름의 변수명이 여러 번 선언되었다면 어디 부분에서 문제가 발생하는 지 파악하기 힘들 뿐더러 값이 바뀔 우려가 있다.
var x = 10;
let
- 선언과 할당을 따로 할 수 있다.
- 동일한 변수명으로 재선언은 불가능하다.
- 해당 변수를 선언하기 전에 참조하려고 할 때 레퍼런스 에러가 발생한다.
let y = 20;
y = 30; // 가능
const
- 재선언과 재할당 모두 불가능하다.
- 선언과 초기화를 동시에 해야 한다.
- 재할당은 원시값은 불가능 하지만 객체 타입은 재할당이 가능하다. 값을 재할당하는 코드만 불가능하다고 볼 수 있다.
const z = 40;
z = 50; // 에러
예시 코드
var name = "John"; // var로 변수 선언
let age = 30; // let으로 변수 선언
const pi = 3.14159; // let으로 변수 선언
age = 31; // 값 변경 가능
name = "Doe"; // 값 변경 가능
pi = 3.14; // 에러, const는 한 번 할당된 값을 변경할 수 없음