Avatar ·

TypeScript ou JavaScript type casting: como converter dados corretamente?

Olá a todos! Sou novo em TypeScript e não consigo entender o type casting. Em JavaScript, estou acostumado a usar construções simples como `String(value)` ou `Number(value)`, além da dupla negação `!!value` para boolean. Mas quando comecei a escrever em TypeScript, fiquei confuso com construções usando `as` e colchetes angulares ``.\n\nPor exemplo, tenho este código:\n\n```typescript\nconst data: any = fetchDataFromAPI(); // Retorna any\nconst user = data as User; // O que isso significa?\n```\n\nNão entendo qual é a diferença entre `as` e o type casting normal do JavaScript. Ambos os métodos são seguros? E quando devo usar `as`, e quando é melhor usar as funções padrão do JavaScript?\n\nTambém vejo frequentemente pessoas escrevendo:\n\n```typescript\nconst count = someValue as number;\n```\n\nMas se