카테고리 없음
Type Annotation을 써야 할 때 (1) any Type
DevilFront
2022. 1. 13. 12:16
반응형
타입스크립트의 타입에는 여러가지가 있지만 'any'라는 타입이 존재한다. 단어 의미 그대로 '어떤' 것이 올 지 모른다는 것이다.
예를 들어 보면
const json = '{"x":10, "y":20}';
const coordinates = JSON.parse(json); // {x:10, y:20} // x : number, y : number
JSON.parse 메소드에 위와 같은 인자를 넣었을 때 값이다.
const json = '{"first":"devil", "last":"front}';
const coordinates = JSON.parse(json); // {first : 'devil', last : 'front' } // first : string, last : string
위의 예처럼 다양한 어떤 타입의 인자가 들어가고 어떤 타입의 리턴값이 나올 지 모르기 때문에 any 타입이 지정된 것이다.
이 any 타입은 없을 수록 좋다. 당장의 밑줄 에러를 없애기 위해 any로 지정하면서 코딩을 하는 건 타입스크립트를 쓰는 의미가 없는 것이다. any 타입이 붙은 순간 컴파일러로 부터 에러의 위험에서 무적이 되기 때문에 값을 가지고 있는 것들은 타입을 지정하는 것이 좋다.
그 예로
누가 봐도 coordiates 에 저런 프로퍼티가 없겠지만 전혀 에러가 잡히지 않는다.
이런 경우에는 타입을 지정해 줘야 하는데 값을 담아줄 coordinates에 타입을 지정해주면 된다.
const json = '{"x":10, "y":20}';
const coordinates : {x:number, y:number} = JSON.parse(json);
본인이 인자로 넣을 타입에 맞게 지정해주면 되겠다.
반응형