타입스크립트를 쓰다보면 종종 타입스크립트가 타입 추론을 제대로 못하거나, (절대 내가 코딩을 이상하게 해서가 아니라 그냥 타입스크립트가 바보인 경우가 종종 있..) 다른 이유로 인해 타입 에러를 무시해야할 경우가 있다.
필자는 타입스크립트 에러를 무시하기 위해 @ts-ignore
를 더 자주 사용했지만, @ts-expect-error
도 있다는 것을 알게 되어 정리를 해보려 한다.
둘 다 타입스크립트 에러를 무시하기 위해 사용한다.
@ts-expect-error
: typescript 3.9 버전에서 추가되었다.
delete() {
// @ts-expect-error NOTE: 타입이 복잡해지지 않도록 ts-expect-error 를 사용한다.
this.groupIdx = null;
this.publishEvent(new UserDeletedEvent(this.id, this.groupIdxs));
}
이 예시에서 groupIdx 의 타입은 number
로 되어있고, 실제 DB 에는 number | null
로 값이 들어갈 수 있다.
하지만 groupIdx 를 number | null
타입으로 지정할 경우, 타입 추론이 너무 복잡해지기 때문에 @ts-expect-error
를 이용해 타입을 단순화했다.
@ts-ignore