기본 타입

string | null 등으로 nullable 사용 가능

함수 타입

(value: string) ⇒ void: 문자열 파라미터를 받는, 반환값 없는 함수 (다른 타입도 가능)

ReturnType<T>: 함수의 반환 타입 추출, 훅 객체의 타입으로 자주 사용

const getUser = () => {
  return { id: 1, name: "김철수", email: "[email protected]" };
}

// { id: number; name: string; email: string; }
type UserType = ReturnType<typeof getUser>;

Parameters<T> : 함수의 파라미터 타입을 배열로 추출

function createUser(name: string, age: number, email: string) {
  return { name, age, email };
}

// [string, number, string]
type CreateUserParams = Parameters<typeof createUser>;