javascript
JavaScript大师必须掌握的12个知识点
2019獨角獸企業重金招聘Python工程師標準>>>
譯者按: 前端技術涉及的越來越多!
- 原文: 10 things to learn on the way to becoming a JavaScript Master
- 譯者: Fundebug
為了保證可讀性,本文采用意譯而非直譯。另外,本文版權歸原作者所有,翻譯僅用于學習。
既然你對這篇文章感興趣,我想你應該是一位前端開發,也許你有一份不錯的工作、自主創業甚至是一位自由從業者。不知你的前端技術如何,也許你是一位新手,亦或是一位資深開發。 如果你想讓自己成為一個 JavaScript 大師,在此我列出 12 條必備知識:
1. 控制流(Control Flow)
我們從最基礎的開講。當然,它也是最重要的一個知識點。如果你連這個都沒有整明白的話,那你的代碼生活將會很艱難。
- if else : 如果連這個都不知道,之前怎么碼代碼的?
- switch : 當有很多的情況要處理(>2)的時候,用它準沒錯。
- for: 不要去編寫重復的代碼,請使用 for。for of和for in都十分便利。一個很大的優勢在于 for 循環是阻塞式的,可以配合async await使用。
- 高階的條件語句: 使用三元運算符或則邏輯判斷。如果想把代碼寫得簡潔,甚至不需要存儲中間值的話,可以這么做。
2. 異常處理
不管前端還是后端工程師,作為一個新手,經常會使用console.log或則console.error來處理錯誤。為了寫出健壯的應用,則需要改掉到處使用 console.log 的習慣,構建自己的異常處理器,然后優雅地處理異常。 你也許對如何處理異常很感興趣,可以看看我寫的這篇文章。
3. 數據模型
需要想清楚如何組織數據(合并或則分離),這不僅僅關乎在數據庫里如何定義其模型,同時也包含了函數參數,定義的變量、對象等等。
const calcShape = (width, height, depth, color, angle) => {...} const calcShape = ({width, height, depth, color, angle}) => {...}4. 異步性
這個是 JavaScript 非常重要的一個特性,要么需要從服務器獲取數據或則在服務器端異步去處理請求。幾乎在所有的情況下,都要面對異步。如果搞不清楚異步,可能會遇到非常奇怪的報錯,以至于要花費幾個小時去搞定它。如果你知道異步,但是沒有完全理解,那么可能掉入“回調地獄”。如今,最好的方法是使用 Promises 和async await。
5. 操作 DOM
對于開發者來說,通常已經學會了 jQuery,似乎不需要再去了解如何直接操縱 DOM 的技巧。甚至直接使用前端框架,根本不需要去操縱 DOM 了。但是,我認為對于理解前端 JavaScript,這是必不可少的一環。知道 DOM 的工作原理以及如何操縱 DOM 元素會讓你對網頁的工作機制有更加清楚的理解。而且,盡管使用了前端框架,總有些情況下你需要直接操縱 DOM。打個比方,如果僅僅只是想訪問某個元素,你肯定不想把整個 jQuery 都導入到項目中吧。
6. Node.js / Express
作為一名前端開發,依然需要學習一點 Node.js。最好懂得如何用 Express 快速搭建一個服務器,并且使用路由功能。JavaScript 作為一門“腳本”語言,很適合定義各種自動化任務,因此知道如何讀取文件,操縱 Buffer 可以助你構建工作流。
7. 函數式編程
函數式編程和面向對象編程哪個更好的爭論由來已久。其實,你可以使用任何一種編程方式達到相同的目的。在 JavaScript 中,事情變得簡單,兩種方式任你挑選。像lodash就以函數式的角度提供了非常多的工具函數。如今,甚至很多函數已經內置實現,無需導入外部庫,比如map,reduce,filter,forEach,find。
8. 面向對象編程
和函數式編程類似,你同樣需要熟悉面向對象的 JavaScript 編程。我曾經很長一段時間拒絕在 JavaScript 中使用面向對象,但是后來發現使用對象/類/實例的方式確實會更加合適。類(class)廣泛使用于 React, Mobx 或則一些自定義的構造函數中。
9. 前端框架
當今最流行的三大框架:React.js,Angular 和 Vue.js。如果你在找一個前端的工作,在簡歷上面至少需要列出它們其中之一。盡管它們更新很快,你需要理解它們總體的工作原理。而且,對底層原理的理解可以讓你更好地使用框架編寫應用。如果還不確定上哪輛車,我建議學習 React.js。我已經使用了好些年,并且不后悔當初的選擇。(譯者建議 Vue.js,簡單好用上手快)
10. 編譯(transpilation)/打包
很不幸,在 Web 開發中這一工作占了很大比重。一方面我又不能說不幸,它使得我們可以用最新的特性來編寫代碼。我說不幸是因為我們需要時刻注意新的特性在某些舊版本的瀏覽器不支持,需要將其翻譯到低版本瀏覽器解釋的代碼。業界的通用標準是babel.js,你需要熟悉它。對于打包,可以使用老大哥Webpack ,或則后起之秀parcel。我傾向于使用 parcel,盡管不完美,但是它性能很好,而且配置方便。
11. 正則表達式
不僅僅針對 JavaScript,但是真的非常有用,也很容易讓人迷惑。掌握正則表達式會花點時間,不需要記住所有的情況,可以邊查邊用。
12. 測試
正如Paul Kamma指出,在軟件開發中,測試真的是一個非常重要的部分。JavaScript 也不例外,在發布新功能前,最好是(一定要)對代碼進行充分的測試。甚至某些情況下需要手動操作,也是值得的。當然,使用自動化測試工具才能一勞永逸,測試包括:單元測試、端到端測試、加載速度測試、安全測試或則前端測試(組件是否加載)。目前市面上已經有很多用于測試的工具,比如 enzyme, jasmine, mocha, chai 等等。我現在最喜歡的是ava.js。
關于Fundebug
Fundebug專注于JavaScript、微信小程序、微信小游戲、支付寶小程序、React Native、Node.js和Java線上應用實時BUG監控。 自從2016年雙十一正式上線,Fundebug累計處理了10億+錯誤事件,付費客戶有Google、360、金山軟件、百姓網等眾多品牌企業。歡迎大家免費試用!
版權聲明
轉載時請注明作者Fundebug以及本文地址: https://blog.fundebug.com/2019/04/03/handle-erros-in-js/
轉載于:https://my.oschina.net/u/3375885/blog/3031717
總結
以上是生活随笔為你收集整理的JavaScript大师必须掌握的12个知识点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringCloud干货(2)----
- 下一篇: 运维大数据可视化分析平台来了,枯燥运维数