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