TypeScript

[TypeScript] Type Alias, readonly, extend

최성2 2022. 2. 16. 18:53

 

1. Type Alias

복잡한 타입을 간단하게, 재사용하기 위해 타입을 변수에 담는 것을 뜻한다

 type 변수명 = 타입 

type A = string | number | undefined 👈

let a: A

//object의 경우, 자주 활용된다
type Member = { name : string, age : number } 👈

let member: Member = {name: 'kim', age: 20}

 

✅ 타입 변수 명은 대문자로 시작해야 한다(일반 변수와 차별을 두기 위해)

 

 

 

2. readonly

특정 속성을 변경할 수 없게 한다

type Myname = {
  readonly name: string 👈
}

const myname: Myname = { 
  name : 'sung2'
}

myname.name = 'sung3'
//에러 발생

 

*타입스크립트에서만 에러가 난다(js 파일을 보면 에러 없이 sung3으로 변경되어있다)

 

 

 

3. extend

OR 연산자를 이용해 Union type 을 만들 수 있다

type Name = string
type Age = number
type Person = Name | Age // string | number

 

& 연산자를 이용해 Object 타입을 합칠 수 있다

type PositionX = { x: number }
type PositionY = { y: number }

type Position = PositionX & PositionY // { x: number, y: number }

let position: Position = { x: 10, y: 20 }

 

 

*Type alias + Type alias 만 가능한 게 아니라 Type alias + { name : string } 도 가능하다

 

 

✅ type 키워드는 재정의가 불가능하다

 

 

 

Ref

https://codingapple.com/course/typescript-crash-course/

 

빠르게 마스터하는 타입스크립트 - 코딩애플 온라인 강좌

  누구나 마음 한켠엔 나만의 웹서비스를 만들고 싶어합니다. 프론트엔드는 어찌저찌 하겠는데 서버 만드는게 어렵고 귀찮다고요? 그렇다면 Firebase를 쓰십시오.   구글이 웹서버를 대신 만들어

codingapple.com

 

'TypeScript' 카테고리의 다른 글

[TypeScript] Function, Method alias Types  (0) 2022.02.18
[TypeScript] Literal Type  (0) 2022.02.17
[TypeScript] Narrowing, Assertion  (1) 2022.02.16
[TypeScript] 함수 타입 지정 + void  (0) 2022.02.15
[TypeScript] Union, Any, Unknown  (0) 2022.02.15