1114_帶來幸福的種子句[貼紙版]

Effective TypeScript中文版 第二版

Effective TypeScript- 2nd Edition
  • 85 680
    800

活動訊息

金石堂,總有一本書懂你!這裡更好買,25家銀行信用卡分期0利率!

分享今年你最有感的書,送50元電子禮券,再抽5000點金幣!

內容簡介

內容簡介:提昇TypeScript技術的83個具體做法

「Effective TypeScript探討使用TypeScript時最常見的問題,並提出實用的、結果導向的建議。無論你的TypeScript經驗如何,都可以從本書學到一些東西。」
—Ryan Cavanaugh,微軟TypeScript工程主管

「本書滿載著實用的撇步,專業的TypeScript開發者都應該把這本書放在桌上。即使你認為已經熟悉TypeScript了,買下這本書也絕對不會後悔。」
—Yakov Fain, Java Champion


TypeScript是包含型態的JavaScript超集合,能有效解決許多JavaScript惡名昭彰的問題。然而,TypeScript有自成一格的學習曲線,開發者往往需投入大量時間來實際操作才能有效運用其強大功能。這本實用的書籍採取《Effective C++》與《Effective Java》(皆由Addison-Wesley出版)風糜已久的寫作風格,提出83條具體建議,明確說明哪些做法值得採用、哪些應該避免,以及如何深入理解這門語言的設計思維。

作者Dan Vanderkam將透過實際範例指引你如何實際運用每一項建議。無論你是TypeScript的初學者,還是已掌握基礎知識、希望更進一步的開發者,本書都將協助你晉升為能熟練運用 TypeScript的專家。

第二版內容更新至TypeScript 5.X,並加入了兩個全新章節,深入介紹型態級程式設計與各種進階的 TypeScript技巧。

•學習TypeScript型態系統的運作細節
•使用型態推斷,以最少的型態註記來獲得嚴密的安全性
•設計型態,讓程式碼更安全且更容易瞭解
•使用泛型型態與型態級設計來定義複雜的API
•瞭解依賴項目與型態宣告檔案在TypeScript之中如何運作
•將JavaScript程式順利遷移至TypeScript

作者

Dan Vanderkam 是一位獨立軟體工程師,也是 TypeScript 及其生態系統的長期使用者、撰稿人和貢獻者。他曾是 Sidewalk Labs 的首席軟體工程師,以及 Google 的資深軟體工程師,負責開發數十億用戶使用的搜尋功能。

目錄

第一章 認識TypeScript
第1項:瞭解TypeScript與JavaScript之間的關係
第2項:知道你正在使用哪些TypeScript設定選項
第3項:認知程式碼生成與型態無關
第4項:熟悉結構定型
第5項:限制any型態的使用頻率

第二章 TypeScript的型態系統
第6項:使用編輯器來訊問和探索型態系統
第7項:將型態想成值的集合
第8項:知道如何判斷一個代號是在型態空間裡,還是值空間裡
第9項:優先使用型態註記,而非型態斷言
第10項:避免使用物件包裝型態(String、Number、Boolean、Symbol、BigInt)
第11項:區分「額外屬性檢查」與「型態檢查」
第12項:盡可能為整個函式表達式指定型態
第13項:瞭解type和interface之間的差異
第14項:使用readonly來避免就地修改造成的錯誤
第15項:使用型態操作與泛型型態來避免重複
第16項:優先考慮比索引簽章更精確的替代方案
第17項:避免數值索引簽章

第三章 型態推斷與控制流分析
第18項:避免可推斷的型態使程式碼變得雜亂
第19項:讓不同的型態使用不同的變數
第20項:瞭解變數是怎麼獲得它的型態的
第21項:一次建立物件
第22項:瞭解型態窄化
第23項:使用一致的別名
第24項:瞭解背景資訊在型態推斷中的作用
第25項:瞭解演變的型態
第26項:使用泛函結構與程式庫來協助型態流動
第27項:使用async函式來改善型態流動,而不是使用callback
第28項:使用類別和柯里化來建立新推斷位置

第四章 型態設計
第29項:優先使用始終代表有效狀態的型態
第30項:寬鬆地接收東西,嚴格地產生東西
第31項:不要在註釋中重複敘述型態資訊
第32項:避免在型態別名中加入null或undefined
第33項:將null值推到型態外圍
第34項:優先考慮多個介面的聯集,而不是包含聯集的介面
第35項:盡量使用比字串型態更精確的型態
第36項:為特殊值定義獨立的型態
第37項:盡量避免使用「選用屬性」
第38項:避免反覆使用型態相同的參數
第39項:與其表達差異,不如統一型態
第40項:寧可使用不精確的型態,也不使用不正確的型態
第41項:用問題領域的語言來為型態命名
第42項:避免根據片面資料建立型態

第五章 不完善性與any型態
第43項:將any型態限制在最小範圍內
第44項:優先使用更精確的any版本,而不是一般的any
第45項:將不安全的型態斷言隱藏在定義了良好型態的函式中
第46項:讓型態不明的值使用unknown,而不是any
第47項:優先考慮型態安全的做法,而不是Monkey Patching
第48項:避免落入不完善陷阱
第49項:追蹤型態覆蓋率,以防止再次失去型態安全性

第六章 泛型與型態級設計
第50 項:將泛型視為型態之間的函式
第51 項:避免非必要的型態參數
第52 項:優先考慮條件型態,而不是多載簽章
第53 項:瞭解如何控制聯集型態在條件型態中的分佈
第54 項:使用模板字面型態來表達DSL與字串之間的關係
第55 項:為你的型態撰寫測試程式
第56 項:注意型態的顯示方式
第57 項:優先考慮尾遞迴泛型型態
第58 項:考慮用程式碼生成來取代複雜型態

第七章 TypeScript錦囊妙計
第59項:使用never型態進行完整性檢查
第60項:知道如何迭代物件
第61項:使用Record型態來讓值保持同步
第62項:使用rest參數與tuple型態來表達可變參數函式
第63項:使用選用的never屬性來表達互斥或
第64項:考慮使用烙印(brand)來實現名目定型

第八章 型態宣告與@types
第65項:將TypeScript與@types放入devDependencies中
第66項:瞭解涉及型態宣告的三種版本
第67項:將出現在公用API裡的所有型態匯出
第68項:使用TSDoc來撰寫API註釋
第69項:如果callback裡的this是API的一部分,那就提供它的型態
第70項:以鏡像型態切斷依賴關係
第71項:使用模組擴充來改善型態

第九章 編寫與執行你的程式
第72項:優先考慮ECMAScript的功能,而非TypeScript的功能
第73項:使用source map來找出TypeScript的bug
第74項:瞭解如何在執行期重建型態
第75項:瞭解DOM階層架構
第76項:為你的環境建立精確的模型
第77項:瞭解型態檢查與單元測試之間的關係
第78項:注意編譯器的效能

第十章 現代化與遷移
第79項:撰寫現代的JavaScript
第80項:使用@ts-check與JSDoc來試驗TypeScript
第81項:使用allowJs來混合TypeScript與JavaScript
第82項:沿著依賴關係圖往上一一轉換模組
第83項:在啟用noImplicitAny之前,不要認為遷移已經完成了

附錄 第一版與第二版的項目之間的對應關係

配送方式

  • 台灣
    • 國內宅配:本島、離島
    • 到店取貨:
      金石堂門市 不限金額免運費
      7-11便利商店 ok便利商店 萊爾富便利商店 全家便利商店
  • 海外
    • 國際快遞:全球
    • 港澳店取:
      ok便利商店 順豐 7-11便利商店

詳細資料

詳細資料

    • 語言
    • 中文繁體
    • 裝訂
    • 紙本平裝
    • ISBN
    • 9786264251754
    • 分級
    • 普通級
    • 頁數
    • 432
    • 商品規格
    • 18開17*23cm
    • 出版地
    • 台灣
    • 適讀年齡
    • 全齡適讀
    • 注音
    • 級別

商品評價

訂購/退換貨須知

加入金石堂 LINE 官方帳號『完成綁定』,隨時掌握出貨動態:

加入金石堂LINE官方帳號『完成綁定』,隨時掌握出貨動態
金石堂LINE官方帳號綁定教學

提醒您!!
金石堂及銀行均不會請您操作ATM! 如接獲電話要求您前往ATM提款機,請不要聽從指示,以免受騙上當!

退換貨須知:

**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**

  • 依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
    1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
    2. 依消費者要求所為之客製化給付。(客製化商品)
    3. 報紙、期刊或雜誌。(含MOOK、外文雜誌)
    4. 經消費者拆封之影音商品或電腦軟體。
    5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
    6. 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
  • 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
  • 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
  • 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
金石堂門市 全家便利商店 ok便利商店 萊爾富便利商店 7-11便利商店
World wide
活動ing