type StudentId = number | string; interface Course { title: string; finished: boolean; } interface Student { id: StudentId; name: string; age?: number; courses: Course[]; } function pickFirst(list: T[]): T { return list[0]; } function formatStudent(student: Student): string { const courseCount = student.courses.length; return `${student.name} 当前有 ${courseCount} 门课程,编号是 ${student.id}`; } const student: Student = { id: "stu-1", name: "林晨", courses: [ { title: "基本类型", finished: true }, { title: "接口", finished: false }, ], }; const firstCourse = pickFirst(student.courses); console.log(formatStudent(student)); console.log(firstCourse);