개발자

이벤트 핸들러의 이벤트 객체 타입을 명시하지 않는 게 좋을까요?

2022년 09월 27일조회 108

안녕하세요. 요즘 타입스크립트를 공부하고있는데 궁금한 점이 생겨서 질문 드립니다. https://medium.com/imersotechblog/how-we-use-typescript-with-react-a3eb33129416 위 글에서 작성자가 타입스크립트를 코드 일관성을 잘 유지할 수 있도록 활용하는 법을 몇 가지 소개해주고 있는데요, 중간 내용중에 타입이 직접 유추될 수 있는 경우에는 타입을 굳이 명시하지 않는 게 더 낫다고 설명하고 있습니다. (사진 1). 저는 지금까지 이벤트 핸들러의 타입을 명시해주지 않으면 linter 오류가 발생해서 (사진 2), 이벤트 타입을 명시하는 게 필수적이라고 생각했었는데요 위 글에서 설명한 것처럼 이 경우에는 이벤트 타입을 명시하지 않는 게 더 나을까요? 다른 분들의 의견이 궁금합니다. 혹시 제가 글을 잘못 이해한 것이라면 정정해주시면 감사하겠습니다. 추가로 해당 글에서 설명하는 것처럼 이벤트를 명시하지 않는 게 나은 경우가 더 있을지도 궁금합니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

이은재님의 프로필 사진

안녕하세요. 우선 글에서 설명하고있는 케이스와 작성자님이 올리신 케이스가 약간 다른 것 같아요. 글의 케이스는 이벤트 핸들러를 컴포넌트 onClick 값에 인라인으로 입력해주는 경우인 것 같고, 작성자님이 올려주신 케이스는 이벤트 핸들링을 하는 함수를 상단에서 먼저 따로 정의하는 경우인 것 같습니다. 캡처해주신 글의 doWatever 함수와 같다고 볼 수 있을 것 같아요. 전자의 경우는 인라인이기 때문에 타입이 명확해서 타입을 작성하지 않는 게 낫다고 설명하고 있는 것 같고, 실제로 이 경우는 린터 에러도 발생하지 않을 것 같습니다. 아마 글 예시에서도 doWhatever 함수를 상단에서 정의할 때는 이벤트 객체의 타입을 정의해주어야 할 것 같습니다. 그 외 이벤트를 명시하지 않는 게 나은 경우는 저도 아직 공부하고 있는 단계라서 아직 잘 모르겠네요 ㅎㅎ. 부족하지만 조금이라도 답변이 되었으면 좋겠습니다.

profile picture

익명

작성자

2022년 09월 28일

그렇군요. 내용을 잘못 이해하고 있었네요 ㅠㅠ. 답변 감사합니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!