- Introduced a new script to check TypeScript lesson files for errors. - Created a main TypeScript file to render lessons and their details. - Added lesson definitions with starter and answer codes. - Implemented a user interface for navigating and running lessons. - Styled the application with CSS for a better user experience. - Updated README to reflect the new TypeScript section and usage instructions.
37 lines
631 B
TypeScript
37 lines
631 B
TypeScript
type StudentId = number | string;
|
|
|
|
interface Course {
|
|
title: string;
|
|
finished: boolean;
|
|
}
|
|
|
|
interface Student {
|
|
id: StudentId;
|
|
name: string;
|
|
age?: number;
|
|
courses: Course[];
|
|
}
|
|
|
|
function pickFirst<T>(list: T[]): T {
|
|
return list[0];
|
|
}
|
|
|
|
function formatStudent(student: Student): string {
|
|
// 返回一段摘要文字
|
|
return "";
|
|
}
|
|
|
|
const student: Student = {
|
|
id: "stu-1",
|
|
name: "林晨",
|
|
courses: [
|
|
{ title: "基本类型", finished: true },
|
|
{ title: "接口", finished: false },
|
|
],
|
|
};
|
|
|
|
// 任务:
|
|
// 1. 实现 formatStudent
|
|
// 2. 用 pickFirst 取第一门课程
|
|
// 3. 输出摘要和第一门课程
|