Web/typescript 썸네일형 리스트형 [Typescript] unkown type typescript 3.0 버전부터 unkown 타입이 추가되었다. 우리가 흔히 어떤타입으로 사용해야할지 모를 경우 모든 타입을 할당받을수 있는 any 타입을 사용해왔는데, unkown 타입 또한 모든 타입을 할당될 수 있다. 그럼.. unkown 타입은 왜 생겨난걸까..? 아래 코드를 보면 그 차이를 알 수 있다. 각각 myThing() 이라는 존재 하지 않는 함수를 호출할 경우, unkown 타입은 미리 개발자에게 경고를 전달해주지만, any는 개발당시에 알려주지 않기때문에 오류를 발생하게 된다. 결론 any 타입 보단 unkown 타입을 사용하여 문제 되는 코드를 미리 예방하자 더보기 [Type Guard] is keyword 사용자 타입가드 : is - 타입스크립트에 is 라는 키워드를 사용하면 타입가드를 지정해 줄 수 있다. - typeof 같이 타입을 따져 분기 처리 역할을 해주고, 타입명제를 만족할 조건(boolean)을 return값으로 지정해주면 된다. 아래 소스 코드를 보면 is 사용할때와 boolean 사용했을 경우 차이점을 확인 할 수 있다. 샘플코드처럼 is를 사용하지 않았을 경우 p.meow()를 사용하기위해 (p as Cat).meow()를 강제 케스팅을 시켜줬어야 했지만 is 를 사용하면 컴파일러에서 값의 타입을 알기 때문에 강제 케스팅을 시켜주지 않아도 된다. 소스 출처 : https://github.com/ipenywis/typescript-mistakes 더보기 이전 1 다음