Arrays genéricos
Parte de la sección Introducción a TypeScript del Journey de JavaScript de Coddy — lección 60 de 73.
Los arrays y los genéricos funcionan de maravilla juntos en TypeScript. Cuando aprendiste sobre los arrays tipados anteriormente, utilizaste la sintaxis T[] para especificar que un array solo puede contener elementos de un tipo específico. Los genéricos te ofrecen otra forma de expresar este mismo concepto.
TypeScript proporciona una sintaxis alternativa para arrays tipados utilizando el formato Array<T>:
// Estas dos declaraciones son equivalentes:
let numbers1: number[] = [1, 2, 3];
let numbers2: Array<number> = [1, 2, 3];La sintaxis Array<T> es particularmente útil cuando se trabaja con funciones genéricas que operan sobre arreglos. Hace que la naturaleza genérica de tu código sea más explícita y legible, especialmente cuando estás creando funciones que pueden trabajar con arreglos de cualquier tipo mientras se preserva la seguridad de tipos.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Desafío
FácilCrea una función genérica llamada getFirstElement que reciba un array de cualquier tipo y devuelva el primer elemento o undefined si el array está vacío.
La función debe:
- Usar un parámetro de tipo genérico
T - Aceptar un parámetro llamado
arrde tipoArray<T> - Devolver el primer elemento de tipo
Toundefined - Tener una anotación de tipo de retorno explícita de
T | undefined
Crea los siguientes arrays utilizando la sintaxis Array<T>:
stringArrayde tipoArray<string>que contenga["apple", "banana", "cherry"]numberArrayde tipoArray<number>que contenga[10, 20, 30, 40]booleanArrayde tipoArray<boolean>que contenga[true, false, true]emptyStringArrayde tipoArray<string>que esté vacío
Prueba tu función e imprime los siguientes resultados:
- Imprime el resultado de llamar a
getFirstElementconstringArray - Imprime el resultado de llamar a
getFirstElementconnumberArray - Imprime el resultado de llamar a
getFirstElementconbooleanArray - Imprime el resultado de llamar a
getFirstElementconemptyStringArray - Imprime el resultado de llamar a
getFirstElementcon un nuevoArray<string>que contenga["single"]
Hoja de referencia
TypeScript proporciona dos sintaxis equivalentes para arrays tipados:
// Estas dos declaraciones son equivalentes:
let numbers1: number[] = [1, 2, 3];
let numbers2: Array<number> = [1, 2, 3];La sintaxis Array<T> es particularmente útil cuando se trabaja con funciones genéricas que operan sobre arrays, haciendo que la naturaleza genérica de su código sea más explícita y legible mientras se preserva la seguridad de tipos.
Pruébalo tú mismo
// TODO: Escribe tu código aquí
// Crea la función genérica getFirstElement
// Crea los arreglos requeridos usando la sintaxis Array<T>
// Prueba la función 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 Tuplas6Tipado de Objetos e Interfaces
Anotaciones de tipo de objeto en líneaAlias de tipo para objetosIntroducción a las interfacesInterfaces vs. Alias de tipoPropiedades opcionales y ReadonlyExtensión de interfaces y tiposAgregar métodos a interfacesRepaso: Definición de estructuras de objetos9Genéricos: Un primer vistazo
El problema que resuelven los genéricosCreación de una función de identidad genéricaUso de una función genéricaArrays genéricosInterfaces genéricasRepaso: Práctica de funciones genéricas