반응형
JS에서, 특히 JSX에서 배열이 유효할 때에만 실행/노출시키기 위한 방법으로 흔히 아래와 같은 optional chaining을 사용한다.
(array?.length > 0) && /*...*/
같은 코드를 TS에서도 사용했더니, 객체가 undefined
일 수 있다는 에러를 띄웠다. array에 대한 undefined
는 optional chaining으로 검사하고 있어 무슨 소리인지 바로 이해할 수 없었다.
결론은 optional chaining으로 인해서 array가 undefined
일 때, array?.length
가 undefined
로 처리되기 때문에, undefined > 0
부분에서 비교할 수 없어서 에러를 띄운 것이다.
참고
반응형