오늘도코딩 2023. 1. 20. 17:06

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 자료형.. 아직 잘 모르겠지만 실무에서 많이 사용되는 자료형