5 maneiras de conversão fácil

O JavaScript foi projetado para escrever pequenos trechos de código de apenas algumas linhas que seriam incorporados em páginas da web. Ninguém poderia prever que o JavaScript se tornaria tão popular como é agora ou seria usado para escrever aplicativos com milhares de linhas de código.

Por mais que o JavaScript tenha crescido e agora seja amplamente utilizado na construção de aplicações, não é uma linguagem perfeita. Seu começo humilde e seu uso inicial pretendido significam que o JavaScript tem algumas peculiaridades que podem tornar a construção de aplicativos em grande escala um pesadelo.

Por exemplo, o JavaScript não gerará um erro quando você fizer referência a elementos que não existem em um objeto ou quando você multiplicar nulo por um valor numérico.

Para JavaScript, uma string vazia (“”) é igual a 0 (zero) quando as duas são comparadas usando um operador de igualdade (==). Pior ainda, o JavaScript não mostrará esses erros no seu código em desenvolvimento. Você só verá os erros depois de executar seu programa.

Texto datilografado, construído em cima de JavaScript, foi desenvolvido para aliviar os desafios que surgem ao construir aplicações com JavaScript. Para conseguir isso, o TypeScript faz a verificação estática de tipo enquanto você escreve seu código.

A verificação estática significa detectar erros em seu código sem que você precise executá-lo. A verificação de tipo estático verifica erros durante o desenvolvimento com base no tipo de valores que estão sendo operados no código.

TypeScript é um superconjunto digitado de JavaScript. Ser um superconjunto de JavaScript significa que qualquer código JavaScript válido também é TypeScript válido. Ser digitado significa que o TypeScript adiciona regras sobre como diferentes tipos de dados podem ser usados. TypeScript também é fortemente tipado e você não pode contornar as restrições impostas pelo sistema de tipos.

TypeScript é um grande marco e um desenvolvimento significativo no desenvolvimento web. TypeScript permite que você escreva código mais legível e fácil de manter. Ele também impõe boas práticas de codificação e ajuda os desenvolvedores a detectar e evitar erros ao escrever código.

TypeScript é mais confiável e fácil de refatorar, o que o torna ideal para construir aplicativos de grande escala em comparação com JavaScript. Como o TypeScript é fortemente tipado, vejamos a conversão de tipo, sua importância e como o TypeScript lida com as conversões de tipo.

Conversão de tipo em TypeScript e sua importância

A conversão de tipo é o processo de conversão de um valor de um tipo de dados para outro, como a conversão de um valor de string em um número. A conversão de tipo pode ser feita implicitamente, onde o compilador converte automaticamente tipos de dados compatíveis durante complicações.

  Comparando o melhor banco de dados NoSQL

A conversão de tipo também pode ser explícita, onde a conversão de tipo é explicitamente exigida no código-fonte. Isso geralmente é chamado de conversão de tipo.

A conversão de tipo é importante porque permite que os desenvolvedores trabalhem com diferentes formatos de dados e, ao mesmo tempo, estejam em conformidade com os tipos de dados esperados no TypeScript. Também ajuda a garantir resultados previsíveis dos códigos-fonte.

Como desenvolvedor, converter você mesmo os tipos ajuda a garantir que seu código ainda atenda aos requisitos de tipos do TypeScript. Isso torna seu código mais legível e compreensível e ajuda a evitar erros relacionados ao tipo.

As conversões de tipo também ajudam a suportar validações de dados e ajudam o TypeScript a ajudá-lo no desenvolvimento, fornecendo todas as ferramentas integradas, como o preenchimento automático, que estão associadas a tipos específicos.

Um caso de uso comum para conversão de tipo é com strings e números. Ao converter strings em números no TypeScript, para evitar erros em seu código, converte apenas strings numéricas em números. Ou seja, você pode converter strings como “1”, “235”, “5234,5” e assim por diante. No entanto, não converta strings como “hello” em um número

Vejamos as diferentes maneiras de converter strings em números no TypeScript:

Digite asserção usando ‘as’

Ao trabalhar com vários tipos de dados em seu código TypeScript, às vezes você terá mais informações sobre o tipo de valor que o TypeScript não pode conhecer. Nesses casos, você informa ao TypeScript qual será o tipo de variável e não permite que o compilador infira o tipo. Isso é chamado de afirmação de tipo.

A asserção de tipo é feita usando a palavra-chave as. Para usar a asserção de tipo para converter uma string em um número, primeiro defina o tipo da string como desconhecido. Isso ocorre porque, por padrão, o TypeScript considera qualquer conversão do tipo string em um número como potencialmente um erro. Isso ocorre porque nem a string nem o número se sobrepõem suficientemente um ao outro. Para converter uma string em um número usando como mostrado abaixo:

/**
 * set the type of numString to be unkown, otherwise,
 * Typescript will infer numString to be a string value
 */
let numString: unknown = "23452";

// Type conversion using as - numString is converted to a number
// and assigned to the variable score
let score = numString as number;
console.log(score);
console.log(score * 35);

Saída:

23452
820820

Na saída, observe que a variável numString foi convertida em um número e atribuída à pontuação. Podemos então fazer cálculos numéricos, como multiplicação com pontuação, porque seu valor é um número

  Acesse aplicativos usados ​​com frequência na gaveta de notificação

Digite asserção usando <>

A asserção de tipo usando <> também pode ser usada para converter uma string em um número. Funciona exatamente como usar a palavra-chave as. A única diferença na implementação é a sintaxe, mostrada abaixo:

let numString: unknown = "23452";
// Type assertion using <> to convert a string to a number
let score = <number>numString;

console.log(score);
console.log(score * 35);

Saída:

23452
820820

A saída é a mesma que usar a palavra-chave as. Novamente, lembre-se de não usar asserção de tipo para converter strings que não contenham valores numéricos.

Usando o construtor de números

Para converter uma string em um número usando o construtor Number, passe a string que deseja converter no construtor Number, conforme mostrado no trecho de código abaixo:

let numString = "23452"; // type inferred to string
let lives: string = "20"; // type annotated to string

// pass in string to Number constructor to convert to number
let score = Number(numString)
console.log(score / 17)

// pass in string to Number constructor to convert to number
let remainingLives = Number(lives);
console.log(remainingLives - 4)

Saída:

1379.5294117647059
16

Ao usar o construtor Number, você não precisa definir o tipo da string como desconhecido. Funciona com valores de string que foram anotados ou inferidos em string. No entanto, lembre-se de passar sequências numéricas como “514”. Se você passar uma string que não pode ser convertida em um número, NaN (Not-a-Number) será retornado.

Usando o operador unário mais (+)

O operador Unário mais (+), que precede seu único operando, é avaliado como o operando que ele precede. Por exemplo, +2 é avaliado como o número 2, +542 é avaliado como o número 542 e assim por diante. No entanto, se o operando não for um número, o operador unário de adição (+) tenta convertê-lo em um número.

Por exemplo, +”98″ será avaliado como 98 e +”0″ será avaliado como o número 0. Portanto, podemos usar o operador unário de mais (+) para converter strings em números. Se você passar uma string que não pode ser convertida em um número, NaN será retornado conforme mostrado abaixo:

let numString1 = "23452";
let numString2 = "973.82"
let word = "hello"

// Using the Unary plus (+) to convert strings to numbers
let num1 = +numString1;
let num2 = +numString2;
let notNumber = +word;

console.log(`${num1} is a ${typeof num1}`);
console.log(`${num2} is a ${typeof num2}`);
console.log(notNumber);

Saída:

23452 is a number
973.82 is a number
NaN

Usar o operador unário mais (+) é uma boa maneira de converter strings em números, pois é rápido e não realiza nenhuma operação adicional em seus operandos.

  Como gravar e exibir a pronúncia do seu nome no LinkedIn

Usando parseInt() e parseFloat()

Assim como no JavaScript, o Typescript não faz distinção entre números inteiros e decimais, também conhecidos como números de ponto flutuante. Todos são considerados do tipo número. Dito isto, os comportamentos de parseInt() e parseFloat() diferem ligeiramente.

parseInt() recebe um argumento de string, analisa-o e retorna um número inteiro equivalente de acordo com a base especificada. parseFloat() pega uma string e a analisa retornando um número de ponto flutuante.

Por exemplo, se você passar “897” para parseInt() e parseFloat(), você receberá de volta o número 897. No entanto, se você passar 897,75 para parseInt() e parseFloat(), parseInt() irá retorne 897 enquanto parsefloat() retornará 897,75.

Portanto, ao converter strings numéricas que não possuem casa decimal, utilize parseInt(), porém, se a string numérica possuir casas decimais, utilize parseFloat() conforme mostrado no código abaixo:

let numString1 = "897.75";
let numString2 = "724";
let word = "hello";

console.log("Parsing numerical strings with decimal numbers")
console.log(`Using parseInt -> ${parseInt(numString1)}`);
console.log(`Using parseFloat -> ${parseFloat(numString1)}`);

console.log("Parsing numerical strings with whole numbers")
console.log(`Using parseInt -> ${parseInt(numString2)}`);
console.log(`Using parseFloat -> ${parseFloat(numString2)}`);

console.log("Parsing strings that can't convert to number")
console.log(parseInt(word));
console.log(parseFloat(word));

Saída:

Parsing numerical strings with decimal numbers
Using parseInt -> 897
Using parseFloat -> 897.75
Parsing numerical strings with whole numbers
Using parseInt -> 724
Using parseFloat -> 724
Parsing strings that can't convert to number
NaN
NaN

Conclusão

Ao trabalhar com valores de string, como o resultado de chamadas de API, você pode querer convertê-los em números para poder realizar cálculos numéricos neles. Quando tal necessidade surgir, considere os métodos destacados no artigo para converter strings em números.

No entanto, sempre que você estiver convertendo strings em números, tome cuidado, pois você pode obter NaN ao tentar converter uma string em um número.

Para evitar esse erro, certifique-se de que todas as strings que você deseja converter em um número sejam numéricas. Você também pode usar uma instrução if para verificar NaN e evitar erros em seu código.

Você também pode explorar as principais bibliotecas TypeScript e tempo de execução para saber como desenvolvedor.