https://microsoft.github.io/PowerBI-JavaScript/interfaces/_node_modules_typedoc_node_modules_typescript_lib_lib_dom_d_.mouseevent.html#target as HTMLLIElement를 붙였을 때만 타입검사를 통과한 이유는, MouseEvent<A> 인터페이스의 target이 null일 수 있기 때문인 것 같습니다. 코드에서 null여부를 한번 걸렀다면, as HTMLLIElement없이도 컴파일 되었을 것 같아요. 예를 들어, 1. if (event.target) { event.target.value } 블럭으로 null이 아닐 때만 해당 작업을 하도록 걸어주거나, 2. event.target?.value 같이 표현해도 컴파일은 될 것 같습니다. 어느쪽이든, li에 있는 value에 접근하는 것은 문제가 없어보입니다. 다만, <select> <option>태그로 하고, onChange 이벤트 핸들러를 걸 일을, ul/li로 해야 하는가에 대해서는 의문이 남네요. 아마도, 원리 학습 차원에서의 숙제 같은 것이 아니라면, 비 실용적인 선택인 것 같습니다.

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2022년 12월 16일 오전 4:19

조회 1,577

댓글 0