斷斷續續碰了一些 TypeScript 的內容,但在實務上始終缺乏一個概念式的整理,導致沒辦法隨心所欲的規劃使用。這回找上 Hiskio 上的「布魯斯的 TypeScript 入門教學」課程,看能不能有所進步。此篇會筆記下 TypeScript 的 Class 以及一些 OOP 的簡介。
課程相關資訊
[連結]:https://hiskio.com/courses/628/lectures/33155
本篇範圍:Chapter 5
請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。
內容
1. 用 class 宣告一個物件定義,裡面有一些屬性
2. 用 new 來建立物件,每個物件都是獨立的,彼此互不相關
3. constructor 是在建立物件之前,會先執行的一些事情
4. 為了規範物件,你會需要額外在定義 interface
5. 你可用 class 去 implement 一定特定的功能。這樣你就可以確保 class 一定有某些基本功能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
class User{ constructor(name: string){ this.name = name } name: string age: number address: string add(){} update(){} delete(){} } interface IUser{ name: string age: number address: string add(data:any) => void update(id: number) => boolean delete(id: number) => boolean } class DemoUser implements IUser{ id: number name: string age: number address: string add(data:any) => {} update(id: number) => { return true } delete(id: number) => { return true } } const u1 = new User('Andy') const u2 = new DemoUser('Sandy') console.log(u1.name) // Andy console.log(u2.name) // Sandy |