Avatar ·

TypeScript o JavaScript casting de tipos: ¿cómo convertir datos correctamente?

¡Hola a todos! Soy nuevo en TypeScript y no puedo entender el casting de tipos. En JavaScript estoy acostumbrado a usar construcciones simples como `String(value)` o `Number(value)`, así como la doble negación `!!value` para boolean. Pero cuando empecé a escribir en TypeScript, me confundieron las construcciones con `as` y los corchetes angulares ``. Por ejemplo, tengo este código: ```typescript const data: any = fetchDataFromAPI(); // Devuelve any const user = data as User; // ¿Qué significa esto? ``` No entiendo cuál es la diferencia entre `as` y el casting normal de JavaScript. ¿Ambas formas son seguras? ¿Y cuándo debo usar `as` y cuándo es mejor usar las funciones estándar de JavaScript? También veo a menudo que la gente escribe: ```typescript const count = someValue as number; ``` Pero si `someValue` es en realidad un string, TypeScript no dará un error, y en runtime todo fallará. Entonces, ¿para qué sirve `as`? ¿No es más simple usar siempre `Number(someValue)` o `parseInt`? Explícame