讓 TypeScript 成為你全端開發的 ACE!(iT邦幫忙鐵人賽系列書)
內容描述
♛ 全台第一本屬於自己的 TypeScript!!!♛
別於一般程式聖經書的冗贅 ── 沒有廢話!
只給你必用、實用、好用的 Feature!
➔ 以精細角度剖析 TypeScript 語言性質與特色
➔ 以最高效率介紹 TypeScript 必學基礎與技巧
➔ 以眾多範例展示 TypeScript 撰寫方式與手法
內容簡介
本書內容改編自第 11 屆 iT邦幫忙鐵人賽, Modern Web 組冠軍網路系列文章──《讓 TypeScript 成為你全端開發的 ACE》── 除了是單純入門 TypeScript 語言的技術書籍外,也是第一本屬於台灣本土的 TypeScript 專書;由微軟(Microsoft)研發出的 TypeScript,為近年來逐漸熱門的技術,是軟體社群上擁有眾多廠商與開發者青睞的前、後端開發工具,本書旨在介紹 TypeScript 這門語言的使用方法與技巧。
四大重點
➣ 漸進式型別系統:原始、物件、泛用與常用進階型別等。
本書一大重點在於型別系統的重要性以及使用方式;除此之外,可以從型別系統來認識一門語言的特性、運作過程、效果與細節,對於程式語言本身的設計會有更深層的理解。
➣ TypeScript 高效技巧:除錯、規格查詢、結合 JavaScript 專案的方法。
好的 TypeScript 程式碼除了可以提升開發效率外,除錯(Debug)的痛苦程度會大大的降低;並且也會介紹原生 JavaScript 專案是如何不需全部重寫成 TypeScript 就可以結合 TypeScript 專案的秘密。
➣ 標準物件導向程式設計入門:類別、介面、 SOLID 原則。
TypeScript 對於物件導向程式設計方面的語法支援完備度較現階段的 JavaScript 以及 ECMAScript 標準高,因此讀者可以藉由 TypeScript 學習到物件導向程式設計的觀念。
➣ TypeScript & ECMAScript:語法糖的使用、非同步程式設計。
本書不僅會討論到 JavaScript、ECMAScript 以及 TypeScript 之間的關係,並且也會介紹在 TypeScript 使用 ECMAScript 標準語法時需要注意的事項。
好評推薦
「很開心看到這次 Max 參加第11屆iT邦幫忙鐵人賽冠軍的大作《讓 TypeScript 成為你全端開發的 ACE!》能夠付梓出版,除了為台灣本土資訊業界帶來一注活水,裡頭滿滿的範例以及各種貼心的小提示,手把手帶領讀者學習 TypeScript,相信一定不會讓你失望。」
────Kuro
Vue.js Taiwan 社群主辦人
《 0 陷阱!0 誤解!8 天重新認識 JavaScript!》作者
目錄大綱
Part I TypeScript 基礎篇
01 TypeScript 的發展與概論
1.1 TypeScript 簡介
1.2 TypeScript 可以解決什麼樣的問題?
1.3 學習 TypeScript 的更多好處
1.4 征途路上總是也有跌跌撞撞的時候
1.5 旅程中的第一小步
02 TypeScript 型別系統概論
2.1 型別系統的兩大基柱—型別的推論與註記
2.2 型別註記—「註記」與「斷言」的差異性
2.3 綜觀TypeScript 型別種類
03 深入型別系統 I 基礎篇
3.1 深潛之前的準備
3.2 原始型別Primitive Types
3.3 JSON 物件型別 JSON Object Type
3.4 函式型別 Function Object Type
3.5 陣列型別 Array Object Type
3.6 明文型別 Literal Type
04 深入型別系統II 進階篇
4.1 元組型別 Tuple Type
4.2 列舉型別 Enum Type
4.3 可控索引型別與索引型別 Indexable Type & Index Type
4.4 複合型別 Composite Type
4.5 Never 型別
4.6 Any 與 Unknown 型別
05 TypeScript 類別基礎
5.1 物件導向基礎概論 OOP Fundamentals
5.2 TypeScript 類別語法 Class Syntax
5.3 型別系統中的類別
06 TypeScript 介面
6.1 介面的介紹 Introduction to Interface
6.2 介面的彈性 Flexibility of Interface
6.3 註記與實踐介面
6.4 詭異的 TypeScript 函式參數型別檢測機制
6.5 型別化名 V.S. 介面
07 深入型別系統III 泛用型別
7.1 泛用型別的介紹 Introduction to Generic Types
7.2 型別泛用化
7.3 型別參數額外功能
08 TypeScript 模組系統
8.1 ES6 Import / Export 模組語法
8.2 命名空間 Namespaces
8.3 型別宣告 Type Declaration
8.4 引入純 JavaScript 套件的流程
Part II TypeScript 應用篇
09 物件導向進階篇章
9.1 物件導向進階概論
9.2 物件導向設計原則 SOLID Principles
9.3 物件導向延伸應用
10 常用 ECMAScript 標準語法
10.1 ES6 解構式 Destructuring
10.2 ES7 匯集- 展開操作符 Rest-Spread Operator
10.3 ES6 Set 與 Map 資料結構
10.4 ES10 非強制串接操作符 Optional Chaining Operator
10.5 ES10 空值結合操作符 Nullish Coalescing Operator
11 常用 ECMAScript 標準語法 非同步程式設計篇
11.1 同步與非同步的概念
11.2 ES6 Promise 物件
11.3 ES7 非同步函式Asynchronous Functions
12 TypeScript 裝飾子
12.1 裝飾子的簡介Introduction to Decorators
12.2 裝飾子種類
12.3 裝飾子的運用
A 解答篇
作者介紹
黃俊鑫 Maxwell Huang
擁有四年前端經驗、工作資歷豐富的工程師,曾實習於五倍紅寶石、Umbo CV 等公司,熟悉 React.JS 與 Vue.JS 前端框架,並且曾擔任宸訊科技股份有限公司的前端工程師,於 2020 年年初作為前端工程師就職位於德國的跨國企業公司 Delivery Hero SE。
曾在香港的 SITCON x HK 2017 以及台灣SITCON 2018 擔任講者,並且在 iT邦幫忙第 11 屆鐵人賽以《讓 TypeScript 成為你全端開發的 ACE 》作為網路文章系列獲得 Modern Web 組冠軍。