Type Alias (타입 별칭)
코드를 짜다보면 매우 길고 복잡하게 타입을 나열하게 될때가 있음.
예를들면,
이렇게 길고 복잡하게 쓰게되면 나중에 내가 다시 보거나 다른 사람이 보기에 가독성이 떨어질수 있음.
이거대신 ,
이렇게 타입을 변수 생성하듯이 생성해서 부여해주면 ,
1. 가독성이 높아짐,
2. 만들어둔 타입을 재사용 할 수 있음.
일반 자바스크립트 변수랑 헷갈리지 않기 위해 보통 관습적으로
1. 대문자로 시작한다.
2. Type 을 붙인다.
- readonly 키워드
object 자료형은 const 키워드로 만들어도 프로퍼티 변경이 가능한데
이유는 const 는 재할당을 막아줄 뿐이지(참조주소 변경 방지) 그 안에 있는 프로퍼티 변경에 대해선 관여하지 않기 때문.
object 속성을 변경할때 에러를 띄워주고 싶다면 readonly 를 쓸수 있음.
이렇게 readonly 키워드를 붙인 프로퍼티에 대해서는 에러를 띄워주는데 js 파일로 컴파일 해도 해주긴함.
근데 어쨋든 의도에맞게 에러를 띄어주기때문에 작성 단계에서 오류를 찝어내기 쌉가능
-type 키워드 합치기
1. or 연산자
or 연산자 ( | ) 를 이용해서 union type 을 만들수도 있음.
NameAndAgeType 에다가 마우스 올려보면 string | number 타입이라고 나옴.
2. and 연산자
object 자료형에 지정한 타입일 경우 & 기호로 합치면 object 안에 두개의 속성을 합쳐줌.
"extend 한다."라고함.
Type & Type 뿐만 아니라
Type & { age: number } 이런것도 됨.
type 키워드는 재정의 불가능
interface 키워드는 재정의가 가능하지만
interface 키워드에서 재정의 하면 type 키워드의 & 랑 똑같은 기능을 하게 됨.
'typescript' 카테고리의 다른 글
함수, 메서드에 타입달기 (0) | 2022.06.10 |
---|---|
as const 문법 (0) | 2022.06.10 |
union 타입 확정 - type narrowing, assertion (as) (0) | 2022.06.10 |
union type, any, unknown - 타입 나중에 정하기 (0) | 2022.06.08 |
tsconfig.json - typescript 컴파일 세부 설정 (0) | 2022.06.08 |
댓글