원시 값, 객체 등에 대해서는 익숙해졌는데, 그 외 모르는 타입들이 많아서 사용하기 어려웠다.
지금은 조금 익숙해졌지만 HTMLElement 타입을 사용하는 게 처음에는 어려웠다.
event.target으로 node에 접근해서 메서드를 사용하려는데 지정한 타입에는 없다 그러고 처음에는 그냥 any로 작성했던 기억이 난다.
자바스크립트로 개발할 때와 다르게 데이터의 구조와 타입을 명확히 설정하고 개발을 진행하는 것이 생각보다 어려웠다.
타입스크립트를 말로만 들었을 때는 진짜 편하겠다고 생각했는데, 머릿속에 데이터의 구조가 명확히 잡혀있지않으니 수많은 에러를 만났다.
시간에 쫓겨 개발을 하다보니 많은 에러들을 깊게 고민해보지않고 any로 설정해두거나, 중복되는 타입을 많이 선언해서 쓴 것 같다.
type vs interface 를 언제 구분해서 사용해야할지 아직도 100% 명확한 기준이 없다.
또한 타입을 어떻게 재사용할지 아직 경험이 부족한것 같다.
같은 로직에서 같은 내용의 데이터를 사용하는데 그때 마다 타입을 지정했던 적도 있다.
DOM과 이벤트에 관련된 타입 - React.ComponentProps(’div’) vs React.ButtonHTMLAttributes<HTMLButtonElement>
그리고 MouseEvent처리에 대해 아직 개념이 적립이 되지 않아 어떤것을 사용해야할지 해맨다.
타입가드 - 타입이 null이거나 undefined일때 깔끔하게 타입가드를 하는 방법에 대해서 더 고민을 해야할 것 같다.
에러가 뜰 때 경험이 없다보니 무슨에러인지 이해가 안될 때가 많았다.