Función para agregar una tarea
Parte de la sección Introducción a TypeScript del Journey de JavaScript de Coddy. Lección 46 de 73.
Desafío
FácilSe te proporciona lo siguiente del desafío anterior:
- La interfaz
Taskconid(número),title(cadena) ystatus(tipo literal) - Tres variables de tareas:
firstTask,secondTaskythirdTask - La función
getTaskInfo
Crea una función llamada addTask que acepte dos parámetros:
taskListde tipoTask[](un arreglo de objetos Task)titlede tipostring(el título de la nueva tarea)
La función debe:
- Crear una nueva tarea con un ID único (usa la longitud del arreglo actual + 1)
- Establecer el título con el parámetro title proporcionado
- Establecer el estado en
'todo' - Devolver un nuevo arreglo que contenga todas las tareas existentes más la nueva tarea
Crea una lista de tareas inicial creando una variable llamada initialTasks de tipo Task[] que contenga firstTask y secondTask.
Usa tu función addTask para agregar una nueva tarea con el título "Review code changes" a initialTasks y almacena el resultado en una variable llamada updatedTasks.
Imprime los siguientes resultados en líneas separadas:
- Imprime la longitud de
initialTasks - Imprime la longitud de
updatedTasks - Llama a
getTaskInfocon la última tarea deupdatedTaskse imprime el resultado - Imprime el título de la tarea recién agregada (la última tarea de
updatedTasks) - Imprime el estado de la tarea recién agregada
Pruébalo tú mismo
// TODO: Write your code here
// Create the Task interface
interface Task {
id: number;
title: string;
status: 'todo' | 'in-progress' | 'done';
}
// Create the task variables
const firstTask: Task = {
id: 1,
title: "Learn TypeScript interfaces",
status: 'todo'
};
const secondTask: Task = {
id: 2,
title: "Build task management app",
status: 'in-progress'
};
const thirdTask: Task = {
id: 3,
title: "Write unit tests",
status: 'done'
};
// Create the getTaskInfo function
function getTaskInfo(task: Task): string {
return `Task ${task.id}: ${task.title} - ${task.status}`;
}
// Print the required outputs
console.log(getTaskInfo(firstTask));
console.log(getTaskInfo(secondTask));
console.log(getTaskInfo(thirdTask));
console.log(firstTask.status);
console.log(secondTask.title);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 tipadas7Proyecto: Una lista de tareas simple
Proyecto: Definir la estructura TaskFunción para agregar una tarea2Tipos 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