What is the Difference Between "type assertion" and "type casting" in TypeScript?