国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

[譯]學習如何去學習 JavaScript - 5 個你應該如何花在學習 JS 上時間的建議

wanglu1209 / 3123人閱讀

摘要:擁抱異步編程縱觀發展史也可以說成開發的發展史,你會發現異步徹底改變了這場游戲。可以這么說,異步編程已成為開發的根基。這也是你應盡早在上投入大量時間的一處核心知識點,這其中包含和等重要概念。這也是最突出的一項貢獻。

原文地址:Medium - Learning How to Learn JavaScript. 5 recommendations on how you should spend your time when learning JavaScript

在現代 JavaScript 巨大的生態系統中遨游可謂是一項十分艱巨的任務。且不提眾多能在你的機器或服務器上運行起來的 Node.js 模塊,如今大堆的前端框架、各種模塊打包工具以及成千上萬的工具庫早已令人眼花繚亂。如何才能確定我要從哪里開始學起?以及把時間花費在哪些主題上才能避免做無用功?

就我個人而言,學過但是最終卻從未用過的知識不可勝數,但是又有一些東西是我想要投入更多時間在上面的。我想用我 7 年職業生涯中得來的深刻教訓,來建議大家應該如何學習 JavaScript。

1. 擁抱 JavaScript 異步編程

縱觀 JavaScript 發展史(也可以說成 web 開發的發展史),你會發現異步 JavaScript 徹底改變了這場游戲。網站從原來的僅僅在客戶端做靜態頁面展示發展到現在運行在你瀏覽器中的完整應用程序。毫不夸張的說,瀏覽器發起 HTTP 請求,在不用刷新整個頁面的情況下等待服務器的響應這一行為改變了整個萬維網。

可以這么說,異步編程已成為 web 開發的根基。這也是你應盡早在 JavaScript 上投入大量時間的一處核心知識點,這其中包含 callbacks、promises、async/await和 fetch 等重要概念。

2. 掌握 TypeScript 基礎

關于要不要把這條建議寫出來,我糾結了差不多有一個小時!因為這是一篇有關如何學習 JavaScript 的博文,而 TypeScript 并不是 JavaScript,它是 JavaScript 的一個超集,在使用之前還需要一個 build 的步驟,然而我對 TypeScript 的強烈信仰讓我下決心必須要把它寫在這兒。

這條建議準確的來說更像是一個最佳編程實踐。JavaScript 是一種松散的、動態的編程語言。在沒有類型約束和不可變性原則的情況下,你在傳遞變量和數據對象時很容易寫出具有副作用的脆弱的代碼。TypeScript 通過增加強類型特性和創建只讀屬性的能力(還有很多其他好用的特性)來減少這一問題的發生。

記住上面說到的,我建議你盡快掌握 TypeScript 基礎,我說的「基礎」是指:如何為你的變量添加類型注解(type annotations)、類屬性、函數參數、函數返回值。TypeScript 的強大絕不僅僅是學這點兒就夠了,但是這第一步能防止你經常絆自己的腳。每當 TypeScript 編譯器捕獲到我的某個起初沒注意到的錯誤都會令我為之著迷。

是的,編譯器會經常找你的茬。這是可以接受的,它是你的朋友,想讓你成為更棒的程序員。花點時間去思考一下 TypeScript 給出的錯誤信息,我保證你的代碼質量能得到顯著提升。

3. 理解 JavaScript 框架存在的意義

JavaScript 框架從我 2012 年末進入 web 開發這行就一直存在了。回到那時候,AngularJS 還處于霸主地位,Backbone.js 在業界的地位也很高,Ember 是當時的后起之秀。有趣的是,盡管它們在當今已成為過去時(幾乎被 React 和 Vue取代),這些前端框架所解決的問題并沒有太大區別。比如說:

view 和controller的數據綁定。 這是最為重要的一點。各種前端框架保持 UI 視圖與前端應用狀態的同步仍是首要任務。無論這些框架的設計是基于 MVC、MVVM 還是僅僅設計視圖層,它們都有自己綁定狀態到視圖層并保持同步的方式。

可復用的組件。 這也是 AngularJS 最突出的一項貢獻。前端視圖基于組件的組合,使用 JS 把模板編譯成 HTML 同樣是 React、Vue 等現代框架的核心理念,都是從 AngularJS 開始興起的。如果沒有現存的前端框架或者說你自己創建一個框架的話,創建動態的、可復用組件基本上不太可能,因為 web 組件的 API 十分有限,且不能處理數據綁定。

如果你仔細看看這些花里胡哨的扳手,螺絲刀和其他工具的本質,其螺母和螺栓都是相同的。你看到的是工具的變革和技術的發展,但是如果你理解了 web 開發的核心痛點(為啥這些工具位居榜首),你就會站在一個更好的角度去理解和正確的使用任何現存的、未來的或者那些已成為歷史的框架。

4. 同時學習兩個相似的框架

就比如 React 和 Vue。

在重度使用某個框架時,我們很容易會把框架的語法和模式當成底層語言的一部分(在這里可以說成是 JavaScript 的一部分)。老話兒說的好:「手里有把錘子,看啥都像釘子」。意思就是說,如果你一直使用某個框架,你就會基于你使用的那個框架固化的去思考你的解決方案,這樣框架就成了你的拐棍而不是前進的動力。

同時掌握或了解兩個框架可以扭轉你的這種思維方式,同時能給與你對該框架助你解決問題的更深層次的理解。這就像是學習一門外語能幫你更了解你的母語一樣。你能看到兩者的異同,去思考到底是什么樣的語言結構產生了這樣的差異。掌握兩種框架的使用也能達到同樣的效果。同一問題的兩種解決方式有助于追溯到問題的根源。

5. 去揭秘構建過程

最后一條涉及學習原生 JS。不管你喜不喜歡這種方式,寫現代 JavaScript 時可選的工具有太多工具和框架,而將它們緊密連接在一起的就是「構建過程」。

在我的職業生涯中,構建工具是變化最大的一個方向。而最大的收獲在于性能的提高以及資源體積的減少。基于 Web 的公司和開源社區都在不斷的嘗試從構建過程中榨取每一個微小的進展,這也造就了日新月異的一系列工具和程序。

我不得不承認,理解 Webpack 這種工具著實花費了我很長時間。只需簡單的設置一個配置項,運行一條命令,然后你就有了一個結構優化過、體積壓縮過且適用于瀏覽器運行的代碼文件。構建工具可以被視作黑魔法,因為所有的類似工具都在力爭向零配置或極少配置方向努力。這對于初學者來說當然是個好事兒,可一旦你想要進行一些自定義配置的時候就會變的非常難。

理解這些工具為你做了什么是非常重要的一件事。試著去理解你的代碼以怎樣的順序經歷了怎樣的改變。試著去理解你的模塊是如何被打包的,由此你才能更好的優化它們。試著去理解每一個配置項,因為這對你的代碼性能和文件體積有很大的影響。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/6990.html

相關文章

  • 個你需要在 PHP 7 中避免

    摘要:不要使用類函數終于,你不用再看到建議不要使用函數的提示了。因為從核心上完全移除了它們,這意味著請你移步至更好的類函數,或者更靈活的層。將從數據庫獲取一個元數據,如果您正在循環訪問特定文章的元數據,則可以在循環中使用它。 showImg(https://segmentfault.com/img/bV75FM?w=1024&h=534); 1. 不要使用 mysql_ 類函數 終于,你不用...

    leanote 評論0 收藏0
  • 2017文章總結

    摘要:歡迎來我的個人站點性能優化其他優化瀏覽器關鍵渲染路徑開啟性能優化之旅高性能滾動及頁面渲染優化理論寫法對壓縮率的影響唯快不破應用的個優化步驟進階鵝廠大神用直出實現網頁瞬開緩存網頁性能管理詳解寫給后端程序員的緩存原理介紹年底補課緩存機制優化動 歡迎來我的個人站點 性能優化 其他 優化瀏覽器關鍵渲染路徑 - 開啟性能優化之旅 高性能滾動 scroll 及頁面渲染優化 理論 | HTML寫法...

    dailybird 評論0 收藏0
  • 2017文章總結

    摘要:歡迎來我的個人站點性能優化其他優化瀏覽器關鍵渲染路徑開啟性能優化之旅高性能滾動及頁面渲染優化理論寫法對壓縮率的影響唯快不破應用的個優化步驟進階鵝廠大神用直出實現網頁瞬開緩存網頁性能管理詳解寫給后端程序員的緩存原理介紹年底補課緩存機制優化動 歡迎來我的個人站點 性能優化 其他 優化瀏覽器關鍵渲染路徑 - 開啟性能優化之旅 高性能滾動 scroll 及頁面渲染優化 理論 | HTML寫法...

    hellowoody 評論0 收藏0
  • 2017文章總結

    摘要:歡迎來我的個人站點性能優化其他優化瀏覽器關鍵渲染路徑開啟性能優化之旅高性能滾動及頁面渲染優化理論寫法對壓縮率的影響唯快不破應用的個優化步驟進階鵝廠大神用直出實現網頁瞬開緩存網頁性能管理詳解寫給后端程序員的緩存原理介紹年底補課緩存機制優化動 歡迎來我的個人站點 性能優化 其他 優化瀏覽器關鍵渲染路徑 - 開啟性能優化之旅 高性能滾動 scroll 及頁面渲染優化 理論 | HTML寫法...

    wwolf 評論0 收藏0
  • 前端學習路線

    摘要:具體來說,包管理器就是可以通過命令行,幫助你把外部庫和插件放到你的項目里面并在之后進行版本升級,這樣就不用手工復制和更新庫。現在有的包管理器主要是和。 一、基礎 1、學習HTML基礎 HTML給你的網頁賦予了結構。它就像是人的骨架那樣讓你保持站立。首先你需要去學習語法以及它必須提供的一切。你的學習應該聚焦在下面這些東西上: 學習HTML基礎,了解如何編寫語義HTML 理解如何把網頁分...

    FullStackDeveloper 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<