[Day06] TS:整合前幾天所學,來寫個 Generic Functions 吧!
這幾天的內容中,我們已經學到了幾個重點:
- 泛型(generics)的使用
- 使用
extends
限制泛型 keyof
的使用- Indexed Access Types 的使用
現在讓我們結合這幾天的內容來試著寫個簡單的函式,這個函式名稱是 getObjValue
,功能很簡單,它可以接受兩個參數,第一個參數是物件,第二個參數是該物件中的 key,回傳的內容就是物件中對應到該 key 的 value。最終寫起來會像這樣:
使 用方式會像這樣:
const user = {
firstName: 'PJ',
lastName: 'Chen',
age: 35,
isAdmin: true,
};
const product = {
name: 'iPad mini',
price: 14900,
manufacturer: 'Apple',
madeIn: 'China',
};
const isAdmin = getObjValue(user, 'isAdmin'); // true
const manufacturer = getObjValue(product, 'manufacturer'); // 'Apple'
同樣的,如果你原本就已經看得懂上面這個函式的寫法,歡迎直接左轉去看我同事 Kyle 「今晚,我想來點 Web 前端效能優化大補帖!」的精彩文章!。