[TroubleShooting] Typescript eslint disable no-unused-vars

srchae·2025년 2월 21일
post-thumbnail

// eslint-disable-next-line @typescript-eslint/no-unused-vars

문제 상황

파일 자체에 에러가 있다는 표시는 있지만, 해당 코드의 몇 번째 줄이 원인인지 파악할 수 없는 상황이 발생을 했다.

사용자에게 받은 입력 필드 중 password를 재확인 받는 password_confirm이라는 필드는 api 요청 값에서 제외시키고자 _ (언더스코어)를 통해 미사용 변수 처리를 했는데 여기서 이와 같은 에러가 발생한 것이다.

TypeScript_(언더스코어)를 포함한 변수도 자동으로 타입을 추론하기 때문에, _를 사용했다고 해서 ESLint가 자동으로 무시하지 않는다.

해결 과정

// eslint-disable-next-line @typescript-eslint/no-unused-vars
const { password_confirm, ...filteredData } = data;

_(언더스코어)를 미사용 변수로 감지하면서도, ESLint의 타입 관련 에러도 무시할 수 있는 eslint-disable-next-line @typescript-eslint/no-unused-vars를 사용하고자 하는 코드의 앞단에 주석의 형태로 추가한다.

번외

만약 미사용 변수 중 _로 시작하는 변수는 ESLint에서 무시하고 싶다면, .eslintrc 파일에서 이와 같이 전역으로 설정하여 사용할 수도 있다.

이와 같이 설정할 경우는 자동으로 ESLint 검사 대상에서 제외하기 때문에, 따로 eslint-disable-next-line을 별도로 선언할 필요가 없다.

정리

  • @typescript-eslint/no-unused-vars는 미사용 변수에 대한 ESLint 경고를 방지하는 기능일 뿐, 타입 추론과는 무관하다.
  • 특정 코드에서 ESLint 경고를 임시로 비활성화하려면 // eslint-disable-next-line @typescript-eslint/no-unused-vars를 사용한다.
  • .eslintrc.js 설정에서 _로 시작하는 변수는 무시할 수 있도록 따로 설정이 가능하다.
  • TypeScript의 타입 추론과 ESLint의 no-unused-vars는 별개로 동작한다.
profile
🐥집요함과 꾸준함🪽

0개의 댓글