[ JavaScript ] 변수와 상수

DaiVernon·2021년 5월 11일
0

JavaScript

목록 보기
1/10
post-thumbnail

변수(Variable)란?


변수(variable)란 이름(식별자)가 붙은 값으로, 언제든지 바뀔 수 있는 값입니다.
예를 들어 계산기 프로그램을 만든다 하면 현재 입력된 값을 저장할 currentValue라는 이름의 변수를 만들 수 있을 것 입니다.

let currentValue = 0; // 현재 입력된 값

let 키워드는 ES6에서 생긴 문법입니다. let 키워드가 생기기 이전에는 variable의 약어인 var 키워드만을 이용하여 변수를 선언할 수 있었습니다.

위의 코드는 currentValue라는 이름의 변수를 선언(생성)하고 동시에 초깃값을 할당하는 두 가지 일을 합니다.

컴퓨터에게 명확하게 currentValue 변수가 현재 값을 저장하기 위한 공간이라고 명확하게 알려줄 수 있는 방법은 없습니다. 하지만 프로그래머가 현재 값을 저장하기 위한 이 변수에 숫자(number)가 아닌 다른 데이터 형식(예를 들어 문자열 형식의 연산자 '+')을 할당한다면 예상치 못한 오류가 날 것 입니다. 변수의 이름은 컴퓨터에게 알려주기 보다 코드를 작성할 때 사람의 실수를 방지하기 위한 장치입니다.

currentValue = 5; // 재할당

이번에는 let 키워드를 사용하지 않고 변수를 할당했습니다. let 키워드는 변수의 선언시에만 사용됩니다.

let은 위의 코드처럼 재할당은 가능하지만 같은 이름의 변수를 재선언할 수는 없습니다. let 키워드를 이용하여 변수를 재선언할 경우 SyntaxError가 발생하게 됩니다.

let previousValue; // previosValue에 undefined가 할당 됩니다.


위 코드처럼 변수를 선언할 때는 꼭 선언과 동시에 초깃값을 할당해줄 필요는 없습니다. 초깃값을 할당하지 않으면 암시적으로 undefined라는 특별한 값이 할당되게 됩니다.

위의 코드에서 할당된 값인 undefined는 프로그래머가 할당을 하지 않을 경우 시스템에서 '암시적'으로 해당 변수의 자료형이 정해지지 않았음을 나타내기 위해 사용합니다. 이와 비슷한 것으로는 null이 존재하는데 null은 일반적으로 undefined와 달리 프로그래머가 의도적으로 값을 할당하고 싶지 않은 경우 null을 할당하여 값을 할당하지 않았음을 '명시적'으로 나타낼 때 사용합니다.

let 	currentOperator = '',
	displayContents = '0';

// let 키워드로 선언문 하나에서 여러개의 변수를 선언할 수 있습니다.

위의 코드에서는 선언문 하나에서 2개의 변수를 선언했습니다. currentOperator에는 선언과 동시에 비어있는 문자열을 할당했고, diplayContents에는 문자열 데이터로 '0'이 할당되었습니다. 둘 다 문자열 변수입니다.

상수(Constans)란?


상수(constants)는 let 키워드와 마찬가지로 ES6에서 새로 생긴 문법입니다. 상수와 변수의 차이점은 변수는 할당된 값을 재 할당할 수 있지만, 상수는 할당된 값을 재할당할 수없고 let 키워드와 마찬가지로 재선언 역시 할 수 없습니다. 상수란 말 그대로 항상 변하지 않고 같은 값을 가지고 있는 공간입니다.

const 	PLUS_OPERATOR = '+',
	MINUS_OPERATOR = '-',
	DIVISION_OPERATOR = '÷',
	MULTUPLY_OPERATOR = '×'; 

// 상수 역시 하나의 선언문에서 여러개의 상수를 선언하고 할당할 수 있습니다.


강제적으로 언어 자체에서 정해져있는 규칙은 아니지만 일반적인 변수와 구분하기 쉽게 하고 실수로 상수의 값을 변경하는 것을 방지하기 위해 대부분의 경우 상수의 이름은 '대문자'를 사용하며 단어 사이를 '밑줄'로 구분하여 이름(식별자)을 붙이게 됩니다.

일반적으로 상수는 한번 수정이 불가하기 때문에 보통 선언과 동시에 초깃값을 할당하며, 실수로 값을 바꾸면 안되는 것들을 할당할 때 자주 사용합니다. 또한 데이터의 값이 지속적으로 바뀌는 것 보다 고정된 값이 이해하기도 쉽고 실수로 수정할 일도 없기 때문에 변수 선언( let ) 보다는 상수선언( const )을 항상 먼저 고려해보는 것이 좋습니다.


참고자료

profile
클린 코드, 클린 아키텍처

0개의 댓글