[JS] 상수(constant)/ const

아임 레조·2020년 9월 5일
0

STUDY

목록 보기
11/34
post-thumbnail

상수(constant)

절대 변하지 않고 항상 일정한 값을 상수라고 부른다.

// 상수(constant) 
let pi = 3,14; // 원주율 
let radius = 0; // 반지름: 빈값이면서 할당값이 숫자형이다. 

// 원의 넓이를 계산하는 함수
function calculateArea(){
	return pi * radius * radius; 
}

// 반지름에 따른 원의 넓이를 출력하는 함수 
function printArea(){
	return `반지름이 ${radius}일 때, 원의 넓이는 ${calculateArea()}`;
 } 
 
 radius = 4; 
 console.log(printArea());
 
 radius = 7; 
 console.log(printArea());
 
 radius = 8; 
 console.log(printArea()); 

처음 let radius;에서 변수만 선언해주고 값을 할당해주지 않은 변수는 undefined값을 가진다. 반대로 반지름이 처음에는 빈값이라는 것을 명시적으로 표현하려면 null을 할당해주면 된다. 한가지 팁으로 변수형에 들어갈 자료형이 아직 결정되지 않았거나 일정하지 않을 경우에는 null을 할당하면 되지만, 빈값을 표현하면서 변수에 일정하게 들어갈 값의 자료형도 간접적으로 표현하고 싶을때는 문자열의 경우에는 빈 문자열을 ('') 숫자인 경우에는 0을 할당해주는 방법도 있다.

위의 코드를 콘솔창에 실행해보면 아래와 같은 결과를 얻을 수 있다.

반지름이 4일 때, 원의 넓이는 50.24 
반지름이 7일 때, 원의 넓이는 153.86
반지름이 8일 때, 원의 넓이는 200.96 

const

그런데 코드를 자세히 들여다보면 radius의 값은 변하는데 pi의 값은 처음부터 끝까지 같은 값을 유지하는 것을 알 수 있다. pi는 공식적으로 고정된 값이기 때문에 수정할 일이 없다. 이처럼 변하지 않고 일정한 값을 유지하는 것을 상수라고 부른다. 자바스크립트로 코드를 작성할때도 값을 일정하게 유지하는 것들은 상수로 표현해주는 것이 좋다. 그 방법은 상수(constant)의 앞글자를 따서 선언할때 let대신 const를 선언해주는 것이다.

 
const pi = 3,14; // 원주율 : 상수 
let radius = 0; // 반지름: 빈값이면서 할당값이 숫자형이다. 

pi = 3; // 이렇게 재할당을 하려고 하면 오류가 뜬다.
           (상수이기 때문에 재할당 불가능) 

// 원의 넓이를 계산하는 함수
function calculateArea(){
	return pi * radius * radius; 
}

// 반지름에 따른 원의 넓이를 출력하는 함수 
function printArea(){
	return `반지름이 ${radius}일 때, 원의 넓이는 ${calculateArea()}`;
 } 
 
 radius = 4; 
 console.log(printArea());
 
 radius = 7; 
 console.log(printArea());
 
 radius = 8; 
 console.log(printArea()); 

상수때문에 오류가 발생하는 경우

상수는 한번 선언되면 재선언을 하는 것이 불가능해서 상수값을 보호할 수 있다. 때문에 재할당을 하려고하면 오류가 뜬다. 또 상수는 값을 변경할 수 없기 때문에 선언할 때 값을 할당해주지 않아도 오류가 뜬다.

상수 이름 짓기

상수는 이름을 지을 때 대문자와 밑줄로 작성해주는 암묵적인 규칙이 있다. 이름에 들어가는 모든 알파벳을 대문자로 작성해주고 두개 이상의 단어가 있을 때는 밑줄로 두 단어를 구분하는 방식이다. 예를 들어, myNumber라는 변수가 있을때는 const MY_NUMBER라고 작성한다. 상수와 변수를 구분하기 위함이다.

 
const PI = 3,14; // 원주율 : 상수 
let radius = 0; // 반지름: 빈값이면서 할당값이 숫자형이다. 

pi = 3; // 이렇게 재할당을 하려고 하면 오류가 뜬다.
           (상수이기 때문에 재할당 불가능) 

// 원의 넓이를 계산하는 함수
function calculateArea(){
	return PI * radius * radius; 
}

실전 문제 01

다음 코드를 실행했을 때 출력되는 내용을 선택하라.

1  const X = 1500;
2
3  function my_function() {
4    X = 1500 * 1.5;
5    console.log(x);
6  }
7
8  my_function();
9  console.log(x);

1번줄에서 const라는 키워드로 x라는 상수를 만들면서 정수 1500을 할당했다. 3번 줄부터 my_function이라는 함수를 선언하고 있는데 함수의 동작 부분에서 x의 값을 변경하려고 하고 있다. 그런데 x는 const키워드로 선언한 상수이기 때문에 값의 변경이 불가능하다. 따라서 이부분에 오류가 발생하고, 코드는 더 이상 실행되지 않게 된다.

profile
어쩌다보니 백엔드 개발자/ 번아웃 없이 재밌게 개발하고 싶어요

0개의 댓글