만약 함수 호출 과정에서 전달된 타입과 다른 경우가 발생하면 TypeScript는 컴파일 과정에서 다음과 같은 오류를 발생시켜 코드에 문제가 있음을 사용자에게 알려줍니다.
constpotatoChip_materials= ['어니언'];// [오류]// 'string[]' 형식의 인수는 'number[]' 형식의 매개 변수에 할당될 수 없습니다.// 'string' 형식은 'number' 형식에 할당할 수 없습니다.pushItemArray<number>(potatoChip_materials,999);
하지만 TypeScript 프로그래밍 과정에서 부득이하게 정해진 타입이 아닌, 경우를 사용해야 하는 경우가 종종 발생합니다. 이런 경우 타입 어설션 문법을 컴파일 과정의 타입 검사를 우회할 수 있으나, 꼭 필요한 경우에만 사용하는 것이 좋습니다.
// pushItemArray()에 사용자가 타입을 지정한 경우pushItemArray<number>(potatoChip_materials asany,61);
// pushItemArray()에 사용자가 타입을 지정하지 않은 경우pushItemArray(potatoChip_materials, <any>999);