alias
: 별칭, 별명
& 연산자
를 통해 객체 type을 결합하여 사용할 수 있다.
type objectA = { x: string };
type objectB = { x: string };
type objectC = { y: number };
type NewType = objectA & objectB & objectC;
let newObject: NewType = { x: 'test', y: 123 };
readonly
를 통해 특정 속성을 변경 불가능하게 할 수 있다.
type Position = {
readonly position: number[];
};
type obj = {
color?: string;
size: number;
position: Position;
};
let testObj = {
size: 3,
positon: [1, 2, 3],
};
?
을 통해 특정 속성을 선택적으로 사용할 수 있다.
type User = { name: string; age: number; email?: string };
let Kim = {
name: 'kim',
age: 24,
};
& 연산자
를 통해 type을 재사용하여 extend할 수 있다.
type Audlt = { isAdult: boolean };
type Checker = Audlt & User;
// User는 상단에서 정의한 객체 type aliase
let someone = {
name: 'lee',
age: 14,
isAdult: false,
};