function renderPage(state: State) {
if (state.error) {}
else if(state.isLoading) {}
return {}
}
error와 isLoading이 둘 다 발생할 때에 대한 명확한 기준이 없다.
설계를 잘 해야 한다.
함수의 매개변수는 타입의 범위가 넓어도 되지만, 결과를 반환할 때는 일반적으로 타입의 범위가 구체적이어야 한다.
즉, optional하게 여러 개의 데이터를 받을 수 있더라도, return값은 구체적으로 명시하는 것이 좋다.
ex) axios
<aside> ❓ return type이 여러개인 경우는 어떤 경우가 있을까?
</aside>
주석과 코드의 불일치가 발생할 수 있어 주석에 타입을 작성하는 것을 가급적 지양해야 한다.