상수 | 변수 |
---|---|
항상 같은 수 | 변할 수 있는 수 |
한 번 값을 넣으면 꺼낼 수 없는 모든 면이 막힌 단단한 유리 상자 | 위가 뚤려 있어서 값을 꺼내고 버리고 다시 넣을 수 있는 유리 상자 |
값에 이름을 한 번 붙이면 값을 수정할 수 없다 | 값 수정 가능 |
모든 면이 막힌 유리 상자와 같은 상수는 쌓아서 저장가능 → 저장 효율 (성능)이 좋아서 실제로 많이 쓰인다
변수는 넣고 빼는 기능이 포함되어야 하니 쌓아 둘 수가 없어서 저장 효율 (성능)이 나쁘다
상수의 사전적 의미 : 수식에서 변하지 않는 값
이것은 변하는 값(변수)과 반대이다
상수는 한 번 정의하면 변하지 않는 값이다주의!!
어떠한 자료에 이름을 붙여서 사용하는 방법은 수학 뿐만 아니라 프로그래밍에서도 많이 사용된다
선언
: 상수를 만드는 과정
const
키워드로 선언한다
상수를 만든 뒤에는 상수 이름을 사용해서 자료 사용이 가능하다
숫자가 들어있는 상수는 숫자 연산이 가능하고
문자열이 들어있는 상수는 문자열 연산이 가능하다
const 이름 = 값
pi라는 이름의 상수를 선언하고, 3.141592 라는 값을 할당
const pi = 3.131592 // undefined
앞서 선언한 상수 이름을 입력하면 해당 값을 사용가능
pi // 3.141592
반지름이 10 인 상수를 선언
const r = 10 // undefined
두 상수를 활용해서 원의 둘레와 넓이 구하기
1. 반지름으로 원의 둘레 구하기
2 * pi * r // 62.83184
pi * r * r // 314.1592
특정한 이름의 상수는 한 파일에서 한 번만 선언이 가능하다
만약 같은 이름으로 상수를 한 번더 선언하면 오류 발생한다
const name = "name 이라는 이름의 상수를 선언해볼게요."
// undefined
const name = "한 번 더 선언합니다."
> Uncaught SyntaxError: Identifier 'name' has already been declared
오류 해결방법
- 콘솔에서 코드를 입력하다가 이러한 오류를 발생했다면 → 새로고침 (
command
+R
) 을 눌러서 자바스크립트 상태를 초기화한 뒤에 다시 코드를 입력- 다른 이름의 식별자를 사용해서 상수 선언
상수는 한 번만 선언가능 → 선언할 때 반드시 값을 함께 지정해줘야 한다
만약 상수를 선언할 때 값을 지정해주지 않는다면 오류가 발생한다
const pi
> Uncatght SyntaxError: Missing intializer in const declaration
오류 해결방법
상수를 선언할 때 반드시 값을 지정해준다
한 번 선언된 상수의 자료는 변경 못한다
pi
에 3.141592
라는 값을 지정했다면 이 값은 변하지 않는다
만약 값을 변경하면 오류를 발생한다
const name = "name 이라는 이름의 상수를 선언해볼게요."
// undefined
name = "그 값을 변경해볼게요."
> TypeError: Assignment to constant variable.
오류해결방법
이렇게 값을 변경하고 싶은 경우엔는 상수가 아니라 변수 사용한다