타입선언을 추가하는데 시간을 쏟고 싶지 않아서 any
를 쓴다면 타입스크립트의 많은 장점을 누리지 못한다.
아래 코드처럼 any 타입은 타입체크를 무시한다.
let age: number
age = '12' as any // NO ERROR
함수를 작성할때 약속된 타입의 인자를 제공받길 원한다.
인자가 any
타입이면, 함수인자의 타입을 무시한다.
function calculate(input: number) {...}
let date: any = '1992'
calculate(date)// NO ERROR
타입스크립트 언어서비스는 any
타입에 대해 자동완성기능과 리팩토링 기능을 제공하지 못한다.
any
타입을 사용하면 타입설계가 잘 되었는지 알 수가 없다.
타입이 실제값과 일치한다면 타입정보를 기억해 둘 필요가 없기 때문에, 기억해야할 정보의 양을 크게 줄일 수 있지만
수많은 any
타입은 실제 타입을 기억해야하므로 일을 어렵게 만든다.
any
는 타입체커와 언어서비스를 무력화한다.- 타입스크립트에서
any
는 꼭 필요할 때만 사용한다.