-
[TS기초]객체 타입TypeScript 2023. 6. 15. 10:53
목차
1.객체 타입 정의하기
- 객체 리터럴
- 인터페이스
- 타입별칭
- 클래스
2.객체 프로퍼티 옵션
- 인덱스 시그니처
- 옵셔널 프로퍼티
- 읽기 전용 프로퍼티
1.객체 타입을 지정하는 여러가지 방법
1️⃣객체 리터럴 타입
:단일로 사용되는 작은 객체를 선언할 때 사용
let user:{ id:string; name:string; } = { id:"아이디", name:"이름", }
2️⃣인터페이스
:재사용 가능한 타입 정의를 위해 주로 사용된다.
type User ={ id:string; name:string; } const user:User = { id:"아이디", name:"이름", }
3️⃣타입 별칭
type User ={ id:string; name:string; } const user:User = { id:"아이디", name:"이름", }
4️⃣클래스
class User{ id:string; name:string; constructor(id:string,name:string){ this.id = id; this.name = name; } } const user = new User("아이디","이름");
2.객체 프로퍼티 옵션
1️⃣인덱스 시그니처(Index signature)
객체 타입의 프로퍼티를 동적으로 정의할 수 있다.
객체는 일반적으로 프로퍼티 이름을 알고 있어야 하지만, 동적으로 접근해야하는 경우가 있다.
이럴때 인덱스 시그니처를 활용하면 프로퍼티에 동적으로 접근이 가능해진다.
type Codes = { [key:string] : number; } let errorCode:Codes = { Korea:82, japan:81, }
2️⃣옵셔널 프로퍼티(Optional Property)
객체 타입에서 프로퍼티의 존재 여부를 선택적으로 나타낼 수 있다.
프로퍼티 이름 뒤에 물음표를 붙여 사용하면 선택적 프로퍼티로 적용된다.
type Users = { id:string; nickname?:string; } let userK:Users={ id:"kim", }
3️⃣읽기 전용 프로퍼티(Readonly Property)
값의 변경을 막기 위해 속성 앞에 readonly를 추가해주면 값의 할당을 막아준다.
type Users = { id:string; nickname?:string; readonly userCode:number; } let userK:Users={ id:"kim", userCode:1 }
'TypeScript' 카테고리의 다른 글
[TS기초]함수 타입 (0) 2023.06.15 [TS기초]기본 타입 (0) 2023.06.13 대수 타입 (0) 2023.06.11 [Generic]제네릭 함수 (0) 2023.06.06 Type Casting(타입 형변환) (0) 2023.06.05