Conversões entre tipos de dados
TypeScript é uma linguagem tipada para JavaScript que adiciona tipagem estática opcional. Embora ofereça verificação de tipos em tempo de compilação, existem momentos em que é necessário converter valores de um tipo para outro, seja por compatibilidade, manipulação ou restrição do tipo.
Conversão para tipos primitivos (string, number, boolean)
Para conversões mais comuns, há funções que transformam valores entre tipos primitivos.
Para string
let num: number = 10;
let str: string = String(num); // "10"
Para number
Operador unário(+)
let strNum: string = "123";
let numConvertido: number = +strNum; // 123
Função Number()
let strNum: string = "123";
let numConvertido: number = Number(strNum); // 123
Cuidado: se a string não representar um número válido, Number() retorna NaN.
Para boolean
let strBool: string = "false";
let bool: boolean = Boolean(strBool); // true, pois string não vazia é true
let zero: number = 0;
let boolZero: boolean = Boolean(zero); // false
No TypeScript/JavaScript, os valores que são convertidos para false são: 0, null, undefined, NaN, '' (string vazia) e false propriamente dito.
Algumas operações forçam conversão de tipo internamente, especialmente para number em operações matemáticas e string em concatenações.
5. Exemplos completos com comentários
let valorAny: any = "42";
// Converter string para number explicitamente
let valorNum: number = Number(valorAny); // 42
// Converter number para string explicitamente
let numToStr: string = String(valorNum); // "42"
// Conversão de booleanos
let falsyValue: number = 0;
let falsyBool: boolean = Boolean(falsyValue); // false
let truthyValue: string = "hello";
let truthyBool: boolean = Boolean(truthyValue); // true
