혼공스 Day 5
Ch 02-2. 상수와 변수
상수 (constant)
상수는 '항상 같은 수'라는 의미로 값에 이름을 한 번 붙이면 값을 수정할 수 없습니다.
👉 저장 효율(성능)이 좋아 실제로 변수보다 더 많이 사용
상수를 만드는 과정을 '선언'이라고 표현하고, const 키워드 사용
👉 const 이름 = 값
e.g. > const 이름 = 오늘도코딩
undefined
> 이름
오늘도코딩
A. Identifier has already declared (구문 오류)
의미 : 식별자가 이미 사용되고 있습니다.
👉 상수는 한 번만 선언할 수 있음
B. Missing initializer in const declaration (구문 오류)
의미 : 상수 선언에 값이 없습니다.
👉 상수는 반드시 값을 함께 지정 해줘야 함
C. Assignment to constant variable (예외 처리)
의미 : 선언된 상수에 배치한다.
👉 한 번 선언된 상수의 자료는 변경할 수 없음
변수
변수는 '변할 수 있는 수'로 값을 수정할 수 있습니다.
👉 저장 효율(성능)이 좋지 않음
변수를 만들 때는 let 키워드를 사용합니다.
👉 let 이름 = 값
👉 변수의 값을 변경할 때 : 변수 = 값
e.g. > let 이름 = 오늘도코딩
undefined
> 이름
오늘도코딩
> 이름 = 코딩마스터
코딩마스터
A. Identifier has already been declared (구문 오류)
의미 : 식별자가 이미 사용되고 있습니다.
👉 상수와 마찬가지로 특정한 이름의 변수는 한 번만 선언할 수 있음
👉 변경 가능성이 있으면 변수를 사용
👉 변경 가능성이 없으면 상수를 사용
변수에 적용할 수 있는 연산자
변수는 복합 대입 연산자와 증감 연산자를 사용할 수 있습니다.
A. 복합 대입 연산자
복합 대입 연산자는 대입 연산자와 다른 연산자를 함께 사용하는 연산자입니다.
👉 대입 연산자 & 다른 연산자
복합 대입 연산자 | 설명 | 사용 예 | 의미 |
+= | 기존 변수의 값에 값을 더함 | a += 1 | a = a+1 |
-= | 기존 변수의 값에 값을 뺌 | a-= 1 | a = a-1 |
*= | 기존 변수의 값에 값을 곱함 | a *= 1 | a = a*1 |
/= | 기존 변수의 값에 값을 나눔 | a /= 1 | a = a/1 |
%= | 기존 변수의 값에 나머지를 구함 | a %= 1 | a = a%1 |
e.g. > let value = 37
undefined
> value += 13
50
> value
50
B. 증감 연산자
증감 연산자는 복합 대입 연산자를 약간 간략하게 사용한 형태입니다.
증감 연산자 | 설명 |
변수++ | 기존의 변수 값에 1을 더함(후위) |
++변수 | 기존의 변수 값에 1을 더함(전위) |
변수-- | 기존의 변수 값에 1을 뺌(후위) |
--변수 | 기존의 변수 값에 1을 뺌(전위) |
👉 후위(postfix) : 이 후에 고정한다
해당 문장을 실행한 후에 값을 더한다는 의미
👉 전위(prefix) : 이 전에 고정한다
해당 문장을 실행하기 전에 값을 더한다는 의미
undefined 자료형
A. 상수와 변수로 선언하지 않은 식별자
상수와 변수로 선언하지 않은 식별자의 자료형을 확인해보면 undefined가 나옵니다.
e.g. > typeof(phone)
undefined
> typeof(식별)
undefined
B. 값이 없는 변수
변수를 선언할 때 값을 지정하지 않은 경우에 해당 식별자는 undefined 자료형이 됩니다.
👉 상수는 반드시 값을 지정하고 선언해야 하므로 값이 없는 상수는 없음
e.g. > let a
undefined
>typeof (a)
undefined
👉 undefined 자료형.. 아직 잘 모르겠지만 실무에서 많이 사용되는 자료형