Definición de tipos de funciones
Parte de la sección Introducción a TypeScript del Journey de JavaScript de Coddy. Lección 28 de 73.
TypeScript te permite crear un alias de tipo para la firma de una función, el cual actúa como un modelo que las funciones deben cumplir.
Un alias de tipo de función define la forma de una función utilizando la palabra clave type. La sintaxis muestra los tipos de parámetros entre paréntesis seguidos de una flecha y el 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;
};En este ejemplo, MathOperation es un alias de tipo que describe cualquier función que tome dos números y devuelva un número. Tanto add como multiply cumplen con este tipo, asegurando la consistencia en toda tu base de código.
Desafío
FácilCrea un alias de tipo llamado StringProcessor para una función que toma un único parámetro de tipo string y devuelve un string.
Crea un alias de tipo llamado NumberCalculator para una función que toma dos parámetros de tipo number y devuelve un number.
Crea un alias de tipo llamado BooleanChecker para una función que toma un parámetro de tipo string y devuelve un boolean.
Ahora implementa las siguientes funciones que cumplan con estos alias de tipo:
- Crea una función llamada
toUpperCasede tipoStringProcessorque convierta la cadena de entrada a mayúsculas - Crea una función llamada
addPrefixde tipoStringProcessorque añada el prefijo"Processed: "a la cadena de entrada - Crea una función llamada
dividede tipoNumberCalculatorque divida el primer número por el segundo número - Crea una función llamada
powerde tipoNumberCalculatorque eleve el primer número a la potencia del segundo número (usaMath.pow) - Crea una función llamada
isEmptyde tipoBooleanCheckerque devuelvatruesi la cadena tiene una longitud de 0, de lo contrariofalse - Crea una función llamada
startsWithAde tipoBooleanCheckerque devuelvatruesi la cadena comienza con la letra "A" (distinguiendo entre mayúsculas y minúsculas), de lo contrariofalse
Prueba tus funciones llamándolas con los siguientes valores e imprimiendo los resultados:
- Llama a
toUpperCasecon"hello world" - Llama a
addPrefixcon"data" - Llama a
dividecon20y4 - Llama a
powercon3and4 - Llama a
isEmptycon"" - Llama a
startsWithAcon"Apple"
Imprime cada resultado en una línea separada en el orden especificado anteriormente.
Pruébalo tú mismo
// TODO: Crear alias de tipos aquí
// StringProcessor, NumberCalculator, BooleanChecker
// TODO: Implementar las funciones aquí
// toUpperCase, addPrefix, divide, power, isEmpty, startsWithA
// TODO: Prueba tus funciones e imprime los resultados
// Llama a cada función con los valores especificados e imprime los resultadosEsta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Introducción a TypeScript
1Primeros pasos con TS
¿Qué es TypeScript?¿Por qué usar TypeScript?Tu primer código en TypeScriptProceso de compilación y erroresResumen: Introducción a TS4Trabajando con funciones
Tipado de parámetros y valores de retornoTipado de funciones de flechaEl tipo de retorno 'void'Parámetros opcionales con '?'Valores de parámetros por defectoTipado de parámetros restDefinición de tipos de funcionesRepaso: Construcción de funciones tipadas2Tipos principales
Tipos básicos: str, num, booleanEl tipo 'any': Vía de escapeEl tipo 'unknown'Trabajando con 'null' y 'undef'Inferencia de tipos en acciónAnotaciones de tipo explícitasResumen: Práctica de tipos principales5Tipos: Alias, Uniones e Intersecciones
Alias de tipos para primitivosTipos de unión ('|')Trabajando con tipos de uniónTipos literalesTipos de intersección ('&')Combinando alias de tiposRepaso: Combinaciones de tipos avanzadas3Estructura de datos: Arrays y Tuplas
Arrays tipadosModificador 'readonly' para Arrays¿Qué es una Tupla?Declaración y acceso a TuplasDesestructuración de TuplasTuplas ReadonlyArrays tipados multidimensionalesOperador Spread con ArraysResumen: Arrays y TuplasPractica por tu cuenta: Playground de TypeScript