新聞中心
TypeScript是時(shí)下最流行的前端開發(fā)語言之一,由于TypeScript往往會(huì)和其他框架生態(tài)和概念混合在一起,因此TypeScript也是當(dāng)下比較難以難掌握和學(xué)習(xí)的語言之一。學(xué)習(xí)TypeScript需要理論聯(lián)系實(shí)際,在學(xué)習(xí)基本概念的同時(shí),還要注重動(dòng)手實(shí)戰(zhàn)。關(guān)于TypeScript的書不少,但是很難找到優(yōu)秀的TypeScript書籍。一本優(yōu)秀的TypeScript書籍需要權(quán)衡,融貫匯通前端和后端,以及現(xiàn)代JavaScript以及其他編程概念和重點(diǎn)框架。

概述
TypeScript和 JavaScrip
TypeScript是JavaScript的超集。TypeScript提供了JavaScript的所有相同功能同時(shí),還提供了更多高級(jí)功能。TypeScript程序通過編譯為JavaScript,最終通過瀏覽器運(yùn)行。TypeScript的目的是將其編譯為JavaScript。JavaScript本身就是有效的TypeScript,因?yàn)門ypeScript是JavaScript的超集??梢院?jiǎn)單地將jsx文件更改為tsx。
TypeScript由Microsoft在2012年作為一個(gè)開源項(xiàng)目開發(fā)。它提供了超出JavaScript的大量功能。TypeScript具有的最強(qiáng)大功能之一讓對(duì)象類型變得更加可靠。TypeScript拋出特定的錯(cuò)誤以幫助我們進(jìn)行調(diào)試。TypeScript還可以編譯到舊版本的JavaScript中,從而使許多瀏覽器都可以訪問應(yīng)用程序。
很多人對(duì)丑陋的JavaScript頗有微詞,那么你可以來看看TypeScript。
學(xué)習(xí)編程
我一直在重申的一個(gè)觀點(diǎn)是學(xué)習(xí)編程不要去看視頻教程,而是從書籍入手,學(xué)練結(jié)合。當(dāng)然書籍的選擇是非常重要的一環(huán),一本好的編程書不能僅僅是分享語法和理論以及操作指導(dǎo),更重要是灌輸各種語言獨(dú)特的思維和慣用方法,這才是語言的核心和魅力。優(yōu)先考慮那些真正著眼于培養(yǎng)作為開發(fā)人員的技能的書籍,而不僅僅是為提供詞匯表和定義。
一本好的編程書籍最好與經(jīng)典的工業(yè)書籍《The Pragmatic Programmer》搭配使用。
本文選擇三本最佳TypeScript書籍,介紹給需要學(xué)習(xí)TypeScript的同學(xué)。
TypeScript快速入門
由Yakov Fain和Anton Moiseev撰寫的《TypeScript Quickly》由Manning于2020年2月出版的,這是目前市面上TypeScript可見的組織最完善,最清晰,最實(shí)用的書之一。每章都簡(jiǎn)潔明了,知道前進(jìn)的每一步。
本書旨在幫助提高網(wǎng)絡(luò)或獨(dú)立應(yīng)用的開發(fā)效率。作者是從業(yè)者,是為從業(yè)者寫作的人。本書概述了使用TypeScript和其他流行的庫(kù)和框架構(gòu)建多個(gè)應(yīng)用程序的過程。本書已經(jīng)假定您具備HTML,CSS和現(xiàn)代JavaScript方面的知識(shí)。
教授TypeScript的一個(gè)挑戰(zhàn)是TypeScript通常不能單獨(dú)運(yùn)行。該語言通常與其他前端框架(如React或Angular)配對(duì)。像其他書籍一樣,TypeScript也會(huì)通過深入研究框架來快速地決定要發(fā)表意見。
TypeScript快速入門共分為兩大部分理論和實(shí)戰(zhàn)。第一部分是掌握TypeScript語法,第二部分實(shí)戰(zhàn)是以時(shí)下最流行的區(qū)塊鏈應(yīng)用為例子進(jìn)行的。
第1部分:掌握TypeScript語法,從第一章到第七章。
- 第1章:熟悉TypeScript,其中包括使用TypeScript進(jìn)行編程,Typescript與JavaScript的好處,如何將TypeScript代碼編譯為JavaScript以及如何與Visual Studio Code編輯器一起使用。
- 第2章:基本和自定義類型,包括使用類型聲明變量并在函數(shù)聲明中使用類型,使用type關(guān)鍵字聲明類型別名,以及使用類和接口聲明自定義類型。
- 第3章:使用類和接口進(jìn)行面向?qū)ο蟮木幊蹋惱^承的工作原理,為什么和何時(shí)使用抽象類,接口如何迫使類具有具有已知簽名的方法而不必?fù)?dān)心實(shí)現(xiàn)細(xì)節(jié),以及如何對(duì)接口進(jìn)行編程手段。
- 第4章:使用枚舉和泛型,包括使用枚舉的好處,數(shù)字和字符串枚舉的語法,泛型類型的用途以及如何編寫支持泛型的類,接口和函數(shù)。
- 第5章:裝飾器和高級(jí)類型,包括TypeScript裝飾器的用途,如何使用映射類型基于現(xiàn)有的類型創(chuàng)建新類型,條件類型如何工作以及組合映射和條件類型。
- 第6章:工具,包括借助源映射調(diào)試TypeScript代碼,linters角色,使用Webpack編譯和捆綁TypeScript應(yīng)用程序,使用Babel編譯TypeScript應(yīng)用程序以及如何使用Babel編譯TypeScript并將其與Webpack捆綁在一起。
- 第7章:在同一項(xiàng)目中使用TypeScript和JavaScript。
第2部分為在區(qū)塊鏈應(yīng)用中應(yīng)用TypeScript,為第八到16章。
- 第8章:開發(fā)自己的區(qū)塊鏈應(yīng)用程序,其中包括區(qū)塊鏈應(yīng)用程序的原理,哈希函數(shù)的作用,區(qū)塊挖掘的作用以及開發(fā)基于區(qū)塊鏈的簡(jiǎn)單應(yīng)用程序。
- 第9章:開發(fā)基于瀏覽器的區(qū)塊鏈節(jié)點(diǎn),包括為區(qū)塊鏈創(chuàng)建Web客戶端,創(chuàng)建用于散列生成的小型庫(kù),運(yùn)行該區(qū)塊鏈Web應(yīng)用程序并在瀏覽器中調(diào)試TypeScript。
- 第10章:使用Node.js,TypeScript和WebSockets進(jìn)行客戶端-服務(wù)器通信,其中包括為什么區(qū)塊鏈可能需要服務(wù)器,最長(zhǎng)的鏈規(guī)則,如何在TypeScript中創(chuàng)建Node.js WebSocket服務(wù)器以及對(duì)TypeScript的實(shí)際使用接口,抽象類,訪問限定符,枚舉和泛型。
- 第11章:使用TypeScript開發(fā)Angular應(yīng)用程序,其中包括Angular框架的快速介紹,如何生成,構(gòu)建和服務(wù)以Angular和TypeScript編寫的Web應(yīng)用程序,以及Angular如何實(shí)現(xiàn)依賴項(xiàng)注入。
- 第12章:在Angular中開發(fā)區(qū)塊鏈客戶端,其中包括查看Angular中的區(qū)塊鏈Web客戶端的代碼以及如何運(yùn)行與WebSocket服務(wù)器通信的Angular客戶端。
- 第13章:使用TypeScript開發(fā)React.js應(yīng)用程序,其中包括React.js庫(kù)的快速介紹,React組件如何使用道具和狀態(tài)以及React組件如何相互通信。
- 第14章:在React.js中開發(fā)一個(gè)區(qū)塊鏈客戶端,其中包括檢查使用React.js編寫的區(qū)塊鏈Web客戶端,React.js Web客戶端如何與WebSocket服務(wù)器通信,運(yùn)行在開發(fā)模式下與兩個(gè)服務(wù)器一起工作的React應(yīng)用,并將區(qū)塊鏈客戶端的用戶界面分為多個(gè)組件并安排其通信。
- 第15章:使用TypeScript開發(fā)Vue.js應(yīng)用程序,其中包括對(duì)Vue.js框架的快速介紹,如何使用Vue CLI快速啟動(dòng)新項(xiàng)目,如何使用基于類的組件以及如何安排客戶端使用Vue路由器進(jìn)行導(dǎo)航。
- 第16章:在Vue.js中開發(fā)區(qū)塊鏈客戶端,其中包括查看Vue.js版本的區(qū)塊鏈Web客戶端,運(yùn)行一個(gè)Vue應(yīng)用程序,該應(yīng)用程序與兩個(gè)服務(wù)器一起工作,數(shù)據(jù)流從輸入交易到生成一個(gè)區(qū)塊,并在區(qū)塊鏈的客戶端組件之間安排通信。
高效TypeScript
《Effective TypeScripts》,由Dan Vanderkam撰寫,2020年O'Reilly發(fā)行的出版物,旨在提高TypeScript開發(fā)人員的技能。
本書的美在于其自以為是,它創(chuàng)建了規(guī)則和偏好來遵循本書的所有內(nèi)容。這本書自稱是開發(fā)者的"TypeScript第二本書",但是由于其出色的質(zhì)量和對(duì)TypeScript學(xué)習(xí)者的價(jià)值,該書名列榜首。
這本書是可操作,易于應(yīng)用的,可以幫助成為更好的TypeScript開發(fā)人員。盡管更多的TypeScript中級(jí)開發(fā)人員可以從本書中受益,但是初學(xué)者可以從第一次學(xué)習(xí)TypeScript的最佳建議中受益。
高效TypeScript包括以下部分:
- 第1章:了解TypeScript,其中包括了解TypeScript與JavaScript,了解正在使用的TypeScript選項(xiàng),了類型無關(guān),對(duì)結(jié)構(gòu)化類型限制使用。
- 第2章:TypeScript的類型系統(tǒng),其中包括使用編輯器詢問類型系統(tǒng),將類型視為值集,知道如何分辨符號(hào)的類型,更喜歡使用類型聲明而不是類型聲明,避免對(duì)象包裝器類型,識(shí)別多余屬性檢查的限制,將類型應(yīng)用于整個(gè)函數(shù)表達(dá)式,了解類型與繼承之間的區(qū)別等等。
- 第3章:類型干擾,包括避免將代碼與可推斷的類型聚類,對(duì)不同類型使用不同的變量,了解類型擴(kuò)展,了解類型縮小,一次創(chuàng)建所有對(duì)象,與別名一致,使用異步函數(shù)而不是異步回調(diào)代碼等等。
- 第4章:類型設(shè)計(jì),其中包括傾向于始終代表有效狀態(tài)的類型,避免在文檔中重復(fù)類型信息,將空值推入類型的范圍等等。
- 第5章:使用any,包括對(duì)任何類型使用盡可能狹窄的范圍,更喜歡對(duì)any進(jìn)行更精確的變體而不是普通的any,隱藏不安全的類型聲明,等等。
- 第6章:類型聲明和@types,包括將TypeScript和@types放入devDependencies中,了解類型聲明中涉及的三個(gè)版本,導(dǎo)出公共API中出現(xiàn)的所有類型,等等。
- 第7章:編寫和運(yùn)行代碼,包括比起TypeScript功能更喜歡ECMAScript功能,了解如何遍歷對(duì)象,了解DOM層次結(jié)構(gòu)等等。
- 第8章:遷移到TypeScript,包括編寫標(biāo)準(zhǔn)的JavaScript,使用@ ts-check和JSDoc嘗試TypeScript,使用allowJs混合TypeScript和JavaScript等。
TypeScript編程
本書也貫穿理論聯(lián)系實(shí)踐的基本教學(xué)方法:讓開發(fā)者深入了解TypeScript語言的工作原理(理論),并提供有關(guān)如何編寫生產(chǎn)型TypeScript代碼的大量實(shí)用建議(實(shí)踐)。TypeScript是一種實(shí)用的語言,所以理論很快就可以付諸實(shí)踐,而本書的大部分最終都是兩者的結(jié)合。
Boris Cherny撰寫的《TypeScript編程:讓你的JavaScript應(yīng)用程序橫向擴(kuò)展》是一本對(duì)初學(xué)者友好的書,該書于2019年5月出版,非常實(shí)用,用幽默風(fēng)趣的對(duì)話語言形式展開,全書共324頁,內(nèi)容簡(jiǎn)練而干貨滿滿。本書中譯本已經(jīng)上市,大家可以選擇。
TypeScript編程包括以下部分:
- 第1章:簡(jiǎn)介,其中簡(jiǎn)要說明了為什么要學(xué)習(xí)TypeScript并介紹了TypeScript類型安全性的價(jià)值。
- 第2章:TypeScript:10英尺視圖,其中包括有關(guān)編譯器,類型系統(tǒng),TypeScript vs JavaScript,代碼編輯器設(shè)置等信息。
- 第3章:關(guān)于類型的所有信息,其中包括"類型的ABC",列出了類型從any到的順序void。
- 第4章:函數(shù),包括有關(guān)聲明和調(diào)用函數(shù),與函數(shù)有關(guān)的多態(tài)性,類型驅(qū)動(dòng)的開發(fā)等信息。
- 第5章:類和接口,其中包括有關(guān)類和繼承,super,this用作返回類型的信息,接口,與類,mixins相關(guān)的多態(tài)性等信息。
- 第6章:高級(jí)類型,包括有關(guān)類型(包括子類型和超類型),總數(shù),高級(jí)對(duì)象類型,條件類型和"轉(zhuǎn)義陰影"(例如類型聲明,非空聲明等)之間的關(guān)系的信息。
- 第7章:處理錯(cuò)誤,其中包括有關(guān)返回null,引發(fā)異常,返回異常,選項(xiàng)類型等的信息。
- 第8章:異步編程,并發(fā)性和并行性,其中包括有關(guān)JavaScript事件循環(huán),使用回調(diào),promise,異步和等待,事件發(fā)射器,類型安全的多線程等的信息。
- 第9章:前端和后端框架,其中包括諸如React和Angular之類的前端框架,以及使用Swagger,gRPC和GraphQL之類的API的類型安全性。本節(jié)還討論使用TypeORM與數(shù)據(jù)庫(kù)進(jìn)行安全交互。
- 第10章:命名空間模塊,其中包括有關(guān)JavaScript的歷史記錄以及模塊的信息,import以及export,命名空間,聲明合并等。
- 第11章:與JavaScript互操作,其中包括有關(guān)環(huán)境類型聲明,從JavaScript遷移到TypeScript,JavaScript的類型查找,使用第三方JavaScript的信息。
- 第12章:構(gòu)建和運(yùn)行TypeScript,包括有關(guān)使用布局,工件,源映射,錯(cuò)誤監(jiān)視等來構(gòu)建TypeScript項(xiàng)目的信息。本節(jié)還討論在服務(wù)器或?yàn)g覽器上運(yùn)行TypeScript以及發(fā)布到NPM。
- 第十三章:結(jié)論。
結(jié)論
TypeScript是一個(gè)具有挑戰(zhàn)性的編程語言來學(xué)習(xí)。隨書學(xué)習(xí)TypeScript是一個(gè)旅程,希望本文推薦這些書籍對(duì)TypeScript的學(xué)習(xí)之旅提供有益幫助和指導(dǎo)。
文章名稱:2020年面向初學(xué)者的優(yōu)秀TypeScript書籍
本文URL:http://fisionsoft.com.cn/article/cohdjoc.html


咨詢
建站咨詢
