Lições do módulo (1/2)
Tipos Primitivos e Anotações
TypeScript é um superconjunto digitado de JavaScript, o que significa que adiciona sintaxe de tipo estático sobre o JavaScript existente. Em tempo de execução, todo o código TypeScript é compilado em JavaScript puro e os tipos desaparecem completamente durante o processo de construção.
Graças ao TypeScript, você pode detectar erros antes que o código seja executado no navegador, tornando seu processo de desenvolvimento mais robusto, seguro e escalonável.
Tipos Primitivos
TypeScript oferece suporte aos tipos primitivos JavaScript padrão:
string: Representa sequências de caracteres (por exemplo,'Alice',"Hello").number: Representa valores numéricos, tanto inteiros quanto decimais (por exemplo,42,3.14).boolean: Representa valores de verdade (trueoufalse).nulleundefined: Representam ausência intencional ou não intencional de um valor.
const username: string = 'Alice';
const score: number = 100;
const isActive: boolean = true;Anotações e inferência de variáveis
No TypeScript, podemos adicionar uma anotação de tipo usando dois pontos (:) seguido do tipo.
Se você tentar atribuir um valor de um tipo diferente (por exemplo, atribuir uma string a age definida como number), o compilador TypeScript gerará imediatamente um erro antes mesmo de o código ser executado.
O perigo do tipo any
O tipo any é uma saída de escape especial que diz ao TypeScript para desligar completamente a verificação de tipo para aquela variável.
let data: any = 42;
data = 'Hello'; // No error!
data.nonExistentMethod(); // No error at compile time, but it crashes at runtime!Usar any anula todos os benefícios de segurança do uso de TypeScript. É considerada uma prática ruim e quase sempre deve ser evitada no código de produção.
Anotações de função e o tipo void
Podemos anotar os parâmetros e o valor de retorno de uma função:
function calculateTax(price: number, taxRate: number): number {
return price * taxRate;
}Se uma função não retornar nenhum valor (por exemplo, ela apenas retorna um console.log), seu tipo de retorno é void:
function logMessage(message: string): void {
console.log(message);
}Experimente você mesmo
Exercício 1: Variáveis Digitadas
Declare três variáveis digitadas explicitamente: nome de usuário como string com valor 'Alice', pontuação como número com valor 100 e isActive como booleano com valor verdadeiro. Não use nenhum tipo.
Mostrar dica
Use a sintaxe: string,: número e: booleano após o nome de cada variável.
Solução disponível após 3 tentativas
Exercício 2: Função de Saudação
Crie uma função chamada greet que aceite um nome de parâmetro do tipo string e retorne uma string no formato 'Hello,' seguida do nome. Especifique explicitamente o tipo de parâmetro e o tipo de retorno.
Mostrar dica
Declare a função como function greet(name: string): string { ... } e retorne a mensagem.
Solução disponível após 3 tentativas
Exercício 3: Conversor de Temperatura
Declare uma função chamada celsiusToFahrenheit que aceita um parâmetro Celsius do tipo number e retorna a temperatura equivalente em graus Fahrenheit (número). A fórmula é Celsius * 9/5 + 32. Especifique explicitamente o tipo de parâmetro e o tipo de retorno.
Mostrar dica
Multiplique Celsius por 9, divida por 5, some 32 e retorne o resultado com um tipo de retorno : number na função.
Solução disponível após 3 tentativas
Exercício 4: Cálculo de Desconto
Crie uma função chamada calculaDiscount que aceita um parâmetro price do tipo number e um parâmetro DiscountPercent do tipo number e retorna o preço final com desconto como um número. Especifique explicitamente os tipos de parâmetro e o tipo de retorno.
Mostrar dica
Subtraia a porcentagem de desconto dividida por 100 de 1 e multiplique pelo preço. Certifique-se de anotar os parâmetros e retornar o valor como número.
Solução disponível após 3 tentativas