JavaScript

[JavaScript] 변수와 상수 (var, let, const)

FRDYtheme 2022. 11. 29. 22:13

변수

변수는 데이터를 담은 박스와 같으며 이름을 정해서 그 안에 값을 담아 쓸 수 있다.

키워드를 통해 변수를 선언할 수 있으며 변수를 선언하는 키워드는 let, var가 있다.

둘 다 거의 동일하게 동작하지만 차이점이 있음.

 

변수라는 이름처럼 키워드를 통해 변수를 선언했다면 값을 할당할 수 있는데 이 값은 변경이 가능하다.

할당할 때마다 새로 할당된 값이 적용되며 그 전 값은 제거된다.

<script>
var a; // 변수에 a라는 이름을 붙여 선언
a = 10; // 변수 a에 10의 값을 할당
// 위와 같은 과정은 한 줄로도 작성 가능
var a = 10; // 변수 선언과 동시에 값 할당

console.log(a); // 10이라는 값을 확인할 수 있음.

/*--------------변수 값 재할당---------------*/
var a = 20;
console.log(a); // 20의 값이 나온다. 그 전 값은 제거됨.
</script>

 

 

 

위 처럼 값을 재할당할 수 있는데 var, let의 차이점이 있다.

var는 위 코드처럼 같은 변수명으로 재선언, 재할당이 가능하며 let은 재할당은 가능하지만 재선언이 불가능하다.

let으로 선언한 변수의 값을 변경하려면 let 키워드를 빼고 작성해야 함.

 

let a; // 변수에 a라는 이름을 붙여 선언
a = 10; // 변수 a에 10의 값을 할당
a = 20; // var와 달리 let a = 20;을 작성하면 a라는 변수명은 이미 존재하기에 오류가 발생한다.

 

var는 오래된 키워드로 let과 동일하게 작동하지만 차이점이 있다. 따로 정리 필요.

 

변수의 복사

선언된 변수의 값을 다른 변수에 복사하는 것이 가능.

let a = "사과";

let b = a; // b에 a의 값 사과를 할당.

console.log(a, b); // 둘은 사과라는 동일한 값을 가진다.

 

변수명의 규칙

변수명에는 나름의 규칙이 있다.

  • 첫 글자로 숫자가 올 수 없음.
  • 숫자와 문자 그리고 기호 ($), (_)만 작성 가능
  • 여러 단어를 조합할 때는 (_)를 쓰거나 카멜표기법을 이용해 작성한다 (ex. userName, user_email)
  • 자바스크립트 내부에서 이미 사용되는 키워드는 사용 불가.(let, var, return, function 등...)
  • 변수명은 한 번만 선언이 가능하며 중복 선언 불가 (var는 가능)

상수

상수는 변하지 않는 값이며 변수와 달리 선언과 동시에 값을 할당해야하고 값은 재할당이 불가능하다.

const b = 10; // 상수 b의 선언과 동시에 10의 값 할당

변하면 안되는 값을 작성할 때 사용하며

변하지 않지만 작성하기 어렵거나 복잡한 값을 상수로 선언해 별칭처럼 사용.