타입 별칭을 내가 만들 수 있다.

// 타입을 내가 지정 할 수 있다.
type Animal = { name : string, age : number }

let 동물 : Animal = {name : 'kim', age : 20 }

object readonly 속성 (object 속성 안에 타입을 수정 못하게 막을 수 있다.)

const 출생지역 = { region : 'seoul' };

// 자료 변경됨
출생지역.region = 'busan';

type Girlfriend = {
	readonly name : string
}

const 여친 : Girlfriend = { 
	name : '엠버'
}

// 수정하려고 하면 에러 발생함.
여친.name = '유라'

타입 별칭 extend (union type)

type Name = string;
type Age = number;

// union Type으로 합치기 가능.
type Person = Name | Age;

타입 별칭 extend (&)

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

// 안에 있는 타입을 합치고 싶다.

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

<aside> ♻️ 타입은 재 정의가 불가능하다.

</aside>

object 타입을 정의한 type alias 두개를 & 기호로 합칠 때 중복된 속성이 있으면 어떻게 될까요?

type NumberX = { x: string; z: number };
type NumberY = { x: string; y: string };

type NewType = NumberX & NumberY;

const obj: NewType = { x: 'hello', z : 2, y : 'oh' };

겹치는 속성은 override 된다.