타입을 집합으로 생각하자. (유니언, 인터섹션)

2. 타입 추론을 적극 활용하자.

<aside> 🚨 타입스크립트가 타입을 제대로 추론하면 그대로 쓰고, 틀리게 추론할 때만 올바른 타입을 표기하자.

</aside>

  1. 리터럴 타입
  2. 더 넓은 타입
const str = 'hello'; // 'hello' 타입
let str2 = 'ko'; // string 타입
const obj = { hello : 'world' }; // {hello : string}

let obj = { hello : 'world' }; // {hello : string}

3. 값 자체가 타입인 리터럴 타입 존재

const obj = {name : 'zero'} as const // const obj : {readonly name : 'zero'}