[TypeScript / Eslint 오류] Type string trivially inferred from a string literal, remove type annotation

컴파일 시 ESLint에서 다음과 같은 오류가 발생하였습니다.

error  Type string trivially inferred from a string literal, remove type annotation  @typescript-eslint/no-inferrable-types

문제가 되는 부분은 다음과 같습니다.

message: string = '메세지를 입력해주세요.';

변수에 string 타입을 명시해주었는데, 컴파일러가 초기값으로 받은 문자열을 통해 messagestring 타입이라는 것을 유추할 수 있어 위와 같은 오류가 발생한 것입니다. 자동추론이 가능한데 타입을 명시해주면 코드가 길고 장황해질 수 있습니다.

아래와 같이 고쳐서 오류를 해결하였다.

message = '메세지를 입력해주세요.';

TSLint 오류가 아닌가요?

 

해당 오류를 검색하면 TSLint글이 많이 나오는데, TSLint가 2019년 이후로 사용되지 않게 되었기 때문에 ESLint를 사용합니다.

TSLint에서 해당 오류를 끄고 싶다면 tslint.json파일의 rules 부분에 아래와 같이 설정해주면 됩니다.

"no-inferrable-types": [true]