有朋友跟我說最近面試前端候選人,問到關(guān)于 JavaScript 的一些少見誤區(qū)問題,候選人很多都沒回答上來,他很詫異,一個(gè)從國際大廠出來的面試者,竟然對 JavaScript 的一些誤區(qū)問題都不了解。
他說候選人給出的原因是:平時(shí)使用 TypeScript 比較多,所以不需要關(guān)注這些。”他的描述讓我對 TypeScript 產(chǎn)生了好奇:TypeScript 真的能讓我們避免掉 JavaScript 大部分的誤區(qū)問題?帶著這樣的好奇,我開始在業(yè)務(wù)應(yīng)用中嘗試使用 TypeScript。通過使用靜態(tài)類型約束 React 組件 Props 和 State,我發(fā)現(xiàn)它與使用 JavaScript 相比,不僅支持在任何地方直觀地獲取組件的接口定義,還能對屬性、狀態(tài)中的值是否為空進(jìn)行自動(dòng)檢測并給出提示(容錯(cuò)處理),甚至還支持對 React JSX 元素接收的各種屬性、方法的檢測和提示。這樣看來 TypeScript 實(shí)在是太香了。用了一段時(shí)間的 Typescript 之后,深感中大型項(xiàng)目中 typescript 的必要性,它能夠提前在編譯期避免許多 bug,如很惡心的拼寫問題。相比競爭對手 Facebook 的 Flow 而言,TypeScript 更具備類型編程的優(yōu)勢,而且還有 Microsoft、Google 這兩家國際大廠做背書。另外,越來越多的主流框架(例如 React、Vue 3、Angular、Deno、Nest.js 等)要么選用 TypeScript 編寫源碼,要么為 TypeScript 提供了完美的支持。國內(nèi)各大互聯(lián)網(wǎng)公司和中小型團(tuán)隊(duì)都開始嘗試使用 TypeScript 開發(fā)項(xiàng)目,且越來越多的人正在學(xué)習(xí)和使用它。如何高效學(xué)習(xí) TypeScript
與其他語言不同,TypeScript 和 JavaScript 的語法并沒有明顯的區(qū)別,意味著你無需學(xué)習(xí)很多知識就可以開始無縫編寫 TypeScript 代碼。也就是說,你可以在任何設(shè)備、瀏覽器或操作系統(tǒng)上運(yùn)行 TypeScript,它全平臺兼容。
看明白知識點(diǎn)很容易,而難點(diǎn)在于融會貫通。除了關(guān)注工程實(shí)踐,還應(yīng)該關(guān)注核心知識點(diǎn)的深入理解和吸收,避免從理論到實(shí)踐無從著手的無力感,只有吃透其中的原理,才能真正打造屬于自己的強(qiáng)有力武器。最近我看到拉勾教育推出了一個(gè)專欄「TypeScript 入門實(shí)戰(zhàn)筆記」,我看了看內(nèi)容設(shè)置很靠譜,講得都是 TypeScript 非常核心的原理及應(yīng)用,里面的很多方案都可以復(fù)用在實(shí)際工作場景中。現(xiàn)在上新期剛好只賣 1 元,建議前端都要囤一份,每一講都會對你現(xiàn)在的開發(fā)工作有幫助。
講師叫乾元,前去哪兒資深前端工程師,曾就職于去哪兒、搜狗等大廠,現(xiàn)就職于某新興一線大廠。2018 年著手推動(dòng)了 TypeScript 在上百個(gè)業(yè)務(wù)應(yīng)用里全面實(shí)踐,構(gòu)建了 TypeScript + React、Redux、NestJS 的全棧技術(shù)生態(tài),積累了豐富的 TypeScript 架構(gòu)開發(fā)經(jīng)驗(yàn)。
帶你了解 TypeScript Config 內(nèi)主要配置的作用,從而可以按需定制類型檢測、構(gòu)建轉(zhuǎn)譯的行為;
講解 TypeScript 基本類型的應(yīng)用,讓你可以熟練地約定數(shù)據(jù)、接口;
TypeScript 進(jìn)階應(yīng)用:泛型、類型斷言等,從而完全掌握類型編程,并善用組合衍生高階類型滿足實(shí)際業(yè)務(wù)需求;
TypeScript 開發(fā)、調(diào)試的工具和技巧:錯(cuò)誤處理等,從而可以在業(yè)務(wù)開發(fā)中得心應(yīng)手地應(yīng)用 TypeScript。
這個(gè)專欄從環(huán)境搭建開始,由淺入深講解了三個(gè)模塊的內(nèi)容,幫助你快速掌握 TypeScript 技術(shù)棧,學(xué)會構(gòu)建高可讀性、高穩(wěn)定性前端應(yīng)用。這個(gè)模塊將介紹 TypeScript 環(huán)境搭建,并結(jié)合淺顯易懂的示例與應(yīng)用場景講解 TypeScript 基礎(chǔ)類型。這部分內(nèi)容是掌握 TypeScript 編程的一塊敲門磚,學(xué)完之后,你將對 TypeScript 的核心知識和概念有個(gè)整體印象。這個(gè)模塊主要講解類型守衛(wèi)、類型兼容、工具類型等概念,及其在實(shí)際業(yè)務(wù)中的作用和使用技巧。學(xué)完之后,能加深你對進(jìn)階知識和工具的理解,并教你掌握造輪子(打造自己的工具類型)進(jìn)行類型編程的能力。這個(gè)模塊將結(jié)合業(yè)務(wù)實(shí)戰(zhàn)系統(tǒng)地講解 TypeScript Config 配置、TypeScript 常見錯(cuò)誤分析定位、瀏覽器等知識,以及 JavaScript 項(xiàng)目改造實(shí)踐。還會穿插講師歷經(jīng)數(shù)百個(gè)應(yīng)用開發(fā)總結(jié)出來的 TypeScript 開發(fā)最佳實(shí)踐經(jīng)驗(yàn),助你在業(yè)務(wù)開發(fā)中更好地應(yīng)用 TypeScript。