웹 프론트엔드/기타

TS에서 Optional Chaining 사용시, 객체가 undefined일 수 있다는 경고

아로리(arori) 2021. 11. 1. 22:56
반응형

JS에서, 특히 JSX에서 배열이 유효할 때에만 실행/노출시키기 위한 방법으로 흔히 아래와 같은 optional chaining을 사용한다.

(array?.length > 0) && /*...*/

같은 코드를 TS에서도 사용했더니, 객체가 undefined 일 수 있다는 에러를 띄웠다. array에 대한 undefined 는 optional chaining으로 검사하고 있어 무슨 소리인지 바로 이해할 수 없었다.

결론은 optional chaining으로 인해서 array가 undefined 일 때, array?.lengthundefined 로 처리되기 때문에, undefined > 0 부분에서 비교할 수 없어서 에러를 띄운 것이다.

참고

반응형