다음과 같이 value 타입을 매번 보장하기 위해 타입 단언을 여러 번 사용되기도 한다. function checkNumber(value: string | number, isNumber: boolean) { if (isNumber) { (value as number).toFixed(2); isNaN(value as number); } else { (value as string).split(""); (value as string).toUpperCase(); (value as string).length; } } 위 경우보다 타입 가드를 제공하면 추론 가능한 특정 범위안에서 타입을 보장할 수 있게 된다. 타입가드는 Name Is Type 형태의 타입 술부(Predicate)를 반환 타입으로 명시한 함수다. f..