본문 바로가기
TypeScript

[TypeScript]변수에 타입 담기, readonly

by hans-j 2023. 4. 16.

type

멋있다

이! 렇 ! 게!

 

object 타입에 두 개 이상의 타입이 들어가는 경우

 

type 키워드를 사용해서 변수로 타입을 지정해서 할당하는것이 훨씬 편하다. 

 

변수에 안담는 다면 위의 식은 아래와 같이 표현할 수 있다.

 

멋없다


그런데! 

type변수를 union type으로 합칠 수 있다.

 

멋있다


혹은!
& 연산자로 object타입을 합칠 수 있다.

 

멋있다


interface

type말고 interface를 이용해서 Object에 타입 지정을 해줄 수도 있다!!

 

멋있다.

type과 다른점은 중복선언(중복 속성은 안됨)이 가능하다는 점!! 위와 같이 합쳐진다.혹은 extends(종속)나 재정의도 가능.// extends쓸때 중복속성이 발생하면 에러로 잡아줌.

 

type가 더 엄격하다고 보면 됨.

 

따라서 외부 라이브러리 같은 경우에 interface를 많이 쓴다. 


type interface
중복 선언 가능 중복 선언 불가능
같은이름으로 재정의 불가능 같은이름으로 재정의 불가능

https://yceffort.kr/2021/03/typescript-interface-vs-type


 

const 변수에 object값을 할당할 경우에!!

 

그 값을 바꿀 수 있다. 왜냐??

 

const변수는 재할당이 불가능 한것이지 object의 값도 변경할 수 없도록하지 않기때문.

 

따라서 object 값의 변경을 막으려면

 

readonly 속성을 적용해준다.(읽기전용)

 

멋있다

그! 런! 데!

 

실제 변환된 js파일은 에러가 없다.

 

타입스크립트 에러는 에디터와 터미널에서만 존재하기 때문!! 기억하자