[S5] 객체 타입

https://github.com/OneMoreBottlee/TypeScript-Master/tree/main/S5

TS는 객체의 형태를 설명하는 애너테이션을 만들 수 있다.

매개변수나, 반환 타입에 설정 가능

function printName(person: { first: string; last: string }): void {
  console.log(`${person.first} ${person.last}`);
}

printName({ first: "hh", last: "aaaaa" });

초과 프로퍼티

// 초과 프로퍼티
// 아래와 같이 지정되지 않은 인자를 추가하면 에러가 발생함.
printName({ first: "Mike", last: "Jagger", age: 476 });

// 하지만 변수에 설정한 후 호출하면 에러가 사라짐
const sig = { first: "Mike", last: "Jagger", age: 476, isAlive: true }
printName(sig) 
// 필요한 것만 전달하고 나머지는 전달하지 않음

Type Alias 타입 별칭

타입을 재사용하고 이름을 지정하는 방법

여러 프로퍼티를 가지는 객체 타입에 작업

중첩 객체

중첩되는 객체도 타입 설정이 가능하다.

선택적 프로퍼티

프로퍼티를 필수가 아닌 선택으로 설정할 수 있다.

readonly

TS 에서 객체의 프로퍼티를 변경되지 않는 읽기전용으로 설정함

원시값의경우만 변경 불가능, 객체와 배열은 변경 가능함

교차 타입

여러 타입을 결합해 새로운 타입을 만들 수 있음

Last updated