Skip to content

習作與展示

第一天:TypeScript 基礎與設置

  • 習作主題:了解 TypeScript 和環境設置(Environment Setup)
  • 內容
    • 介紹 TypeScript 的基本概念和優勢。
    • 安裝 TypeScript 和配置開發環境(IDEs)。
    • 學習基本語法:變量、類型、接口(Variables, Types, Interfaces)。

第二天:TypeScript 函數與類別

  • 習作主題:深入探討 TypeScript 中的函數和類別(Functions & Classes)
  • 內容
    • 理解並實踐 TypeScript 中的函數,包括箭頭函數和參數類型。
    • 學習如何使用類別、繼承和存取修飾符(Inheritance & Access Modifiers)。

第三天:進階類型與泛型編程

  • 習作主題:掌握進階類型和泛型(Advanced Types & Generics)
  • 內容
    • 探索聯合類型、交叉類型和類型守衛(Union, Intersection Types & Type Guards)。
    • 實踐泛型編程,了解其在建構靈活且可重用代碼中的作用。

第四天:TypeScript 與異步編程

  • 習作主題:TypeScript 中的異步編程(Asynchronous Programming)
  • 內容
    • 學習使用 Promises 和 async/await。
    • 探討 TypeScript 中處理異步操作的最佳實踐。

第五天:結訓展示

創建一個 TypeScript 程式,該程式將讀取一個 YAML 檔案,該檔案包含一個使用者列表,每個使用者都有名字、年齡、電子郵件和一組技能。程式應該將 YAML 檔案的內容轉換為 TypeScript interface,並將生成的程式碼寫入一個新的 .ts 檔案。

YAML 檔案範例 (users.yaml):

users:
  - name: Alice
    age: 25
    email: alice@example.com
    skills:
      - TypeScript
      - JavaScript
      - HTML
  - name: Bob
    age: 30
    email: bob@example.com
    skills:
      - Python
      - Django
      - SQL

輸出範例 (users.ts):

interface User {
  name: string;
  age: number;
  email: string;
  skills: string[];
}

interface UserList {
  users: User[];
}

export const users: UserList = {
  users: [
    {
      name: 'Alice',
      age: 25,
      email: 'alice@example.com',
      skills: ['TypeScript', 'JavaScript', 'HTML'],
    },
    {
      name: 'Bob',
      age: 30,
      email: 'bob@example.com',
      skills: ['Python', 'Django', 'SQL'],
    },
  ],
};