iT邦幫忙

鐵人檔案

第 11 屆 iThome 鐵人賽
回列表
Modern Web

讓 TypeScript 成為你全端開發的 ACE! 系列

嗨!我是 Max!

近幾年來,TypeScript(以下簡稱TS) 在各大 JS 框架的支援度越來越高,它優越的型別與介面系統以及更多結合 ECMAScript 擴充語法支援,使專案使用 TS 開發時,除了可增強其維護性外,也達成了原本 JS 很難實踐或很麻煩的問題。

型別系統最終目的要讓開發者避免幾種常見錯誤:寫錯字 / 缺少實踐類別或物件的性質與方法 / 缺少額外的型別檢查等。另外,如果結合設計模式以及好的寫程式習慣,TS 可以幫你奠定好專案的架構基礎,使得開發過程充滿成就感,因為寫出來的都是漂亮、維護性高的程式碼。

以下就由我來介紹如何使 TS 成為你開發前後端的王牌!

鐵人鍊成 | 共 51 篇文章 | 448 人訂閱 訂閱系列文 RSS系列文

Day 41. 戰線擴張・模擬戰 — UBike 地圖 X 外觀模式 - Façade Pattern in TypeScript

閱讀本篇文章前,仔細想想看 還記得單例模式 Singleton Pattern嗎?今天會用到喔! 本篇文承接上一篇文,因此如果是跳到這篇的話可以先從上一篇或...

Day 42. 通用武裝・泛用型別 X 型別參數化 - TypeScript Generics Introduction

《通用武裝》篇章概要 本系列即將邁入後半段(現在才邁入後半段會不會有點晚?)—— 泛用型別(Generics)的介紹。 筆者翻閱很多資料發現,泛用型別儘管看似...

Day 43. 通用武裝・泛型註記 X 推論未來 - TypeScript Generic Declaration & Annotation

閱讀本篇文章前,仔細想想看 泛用型別的意義是什麼? 泛用型別大致上有哪些種類或形式? 如果還不清楚可以看一下前一篇文章喔~ 以下就直接正文開始~ 泛用...

Day 44. 通用武裝・介面與類別 X 泛型註記機制 - TypeScript Generic Class & Interface

閱讀本篇文章前,仔細想想看 泛用型別化名的如何進行宣告? 泛用化名註記在變數時的注意事項為何? 泛用函式的特點為何? 如果還不清楚可以看一下前一篇文章喔...

Day 45. 通用武裝・泛用類別與介面 X 終極組合第二彈 - Ultimate Combo of Generic Class & Interface

閱讀本篇文章前,仔細想想看 泛用型別化名的如何進行宣告? 泛用化名註記在變數時的注意事項為何? 泛用函式的特點為何? 如果還不清楚可以看一下前一篇文章喔...

Day 46. 通用武裝・迭代器模式 X 泛用迭代器 - Iterator Pattern Using TypeScript

閱讀本篇文章前,仔細想想看 泛用類別與泛用介面結合時的注意事項為何? 如果還不清楚可以看一下前一篇文章喔~ 其實筆者在泛用方面的型別推論與機制並沒有討論很...

Day 47. 通用武裝・泛型應用 X 結合 ES2015+ - TypeScript Generics with ES2015+ Features

閱讀本篇文章前,仔細想想看 迭代器(Iterator)與聚合物(Collection)的差別在哪? 迭代器模式要如何實踐?實踐的目的為何? 什麼是多型巡訪...

Day 48. 通用武裝・非同步概念 X 脫離巢狀地獄 - TypeScript Generics with Asynchronous Programming I. Promise Chain

閱讀本篇文章前,仔細想想看 ES6 Map 與 Set 在 TypeScript 裡使用時需要注意的事項。 ES6 Promise 的基本運作機制為何?...

Day 49. 通用武裝・非同步迭代 X 無窮地惰性求值 - TypeScript Generics with Asynchronous Programming II. ES6 Generators

閱讀本篇文章前,仔細想想看 同步與非同步程序的差異性在哪?你能夠列舉哪些是 JS 裡有非同步的機制的東西嗎? 為何我們需要非同步的程序?同步執行不是很直觀...

Day 50. 通用武裝・非同步函式X非同步程序的同步化-TypeScript Generics with Asynchronous Programming III. Async Functions

閱讀本篇文章前,仔細想想看 Generators 使用上有哪些特點? 積極求值(Eager Evaluation)與惰性求值(Lazy Evaluatio...