Definindo Tipos de Funções
Parte da seção Introdução ao TypeScript do Journey de JavaScript da Coddy. Lição 28 de 73.
O TypeScript permite que você crie um alias de tipo para a assinatura de uma função, que funciona como um modelo que as funções devem seguir.
Um alias de tipo de função define a forma de uma função usando a palavra-chave type. A sintaxe mostra os tipos de parâmetros entre parênteses seguidos por uma seta e o tipo de retorno:
type MathOperation = (a: number, b: number) => number;
const add: MathOperation = (a, b) => {
return a + b;
};
const multiply: MathOperation = (a, b) => {
return a * b;
};Neste exemplo, MathOperation é um alias de tipo que descreve qualquer função que recebe dois números e retorna um número. Tanto add quanto multiply estão em conformidade com este tipo, garantindo consistência em toda a sua base de código.
Desafio
FácilCrie um alias de tipo chamado StringProcessor para uma função que recebe um único parâmetro string e retorna um string.
Crie um alias de tipo chamado NumberCalculator para uma função que recebe dois parâmetros number e retorna um number.
Crie um alias de tipo chamado BooleanChecker para uma função que recebe um parâmetro string e retorna um boolean.
Agora implemente as seguintes funções que estão em conformidade com esses aliases de tipo:
- Crie uma função chamada
toUpperCasedo tipoStringProcessorque converte a string de entrada para letras maiúsculas - Crie uma função chamada
addPrefixdo tipoStringProcessorque adiciona o prefixo"Processed: "à string de entrada - Crie uma função chamada
dividedo tipoNumberCalculatorque divide o primeiro número pelo segundo número - Crie uma função chamada
powerdo tipoNumberCalculatorque eleva o primeiro número à potência do segundo número (useMath.pow) - Crie uma função chamada
isEmptydo tipoBooleanCheckerque retornatruese a string tiver comprimento 0; caso contrário,false - Crie uma função chamada
startsWithAdo tipoBooleanCheckerque retornatruese a string começar com a letra "A" (diferencia maiúsculas de minúsculas); caso contrário,false
Teste suas funções chamando-as com os seguintes valores e imprimindo os resultados:
- Chame
toUpperCasecom"hello world" - Chame
addPrefixcom"data" - Chame
dividecom20e4 - Chame
powercom3e4 - Chame
isEmptycom"" - Chame
startsWithAcom"Apple"
Imprima cada resultado em uma linha separada, na ordem especificada acima.
Experimente você mesmo
// TODO: Criar aliases de tipo aqui
// StringProcessor, NumberCalculator, BooleanChecker
// TODO: Implementar as funções aqui
// toUpperCase, addPrefix, divide, power, isEmpty, startsWithA
// TODO: Testar suas funções e imprimir os resultados
// Chame cada função com os valores especificados e imprima os resultadosEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Introdução ao TypeScript
1Primeiros Passos com TS
O que é TypeScript?Por que usar TypeScript?Seu Primeiro Código TypeScriptProcesso de Compilação e ErrosRecapitulação: Introdução ao TS4Trabalhando com Funções
Tipagem de Parâmetros e RetornosTipagem de Arrow FunctionsO Tipo de Retorno 'void'Parâmetros Opcionais com '?'Valores Padrão de ParâmetrosTipagem de Rest ParametersDefinindo Tipos de FunçõesRecapitulação: Criando Funções Tipadas2Tipos Principais
Tipos Básicos: str, num, booleanO Tipo 'any': Válvula de EscapeO Tipo 'unknown'Trabalhando com 'null' e 'undef'Inferência de Tipo na PráticaAnotações de Tipo ExplícitasRecapitulação: Prática de Tipos Principais5Tipos: Aliases, Uniões e Interseções
Aliases de Tipos para PrimitivosTipos de União ('|')Trabalhando com Tipos de UniãoTipos LiteraisTipos de Interseção ('&')Combinando Aliases de TiposRecapitulação: Combinações Avançadas de Tipos3Estrutura de Dados: Arrays e Tuplas
Arrays TipadosModificador 'readonly' para ArraysO que é uma Tupla?Declarando e Acessando TuplasDesestruturando TuplasTuplas ReadonlyArrays Tipados MultidimensionaisSpread Operator com ArraysRecapitulação: Arrays e TuplasPratique por conta própria: Playground de TypeScript