成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JavaScript 2018: 你需要和不需要深入的

開發 前端
在2018里,對于聰明的開發者們可以去熟悉的東西, Brown 給出了他對 JavaScript 生態系統中各個方面最前沿,至少也是很有用的預測。有兩點需要說明的是: 首先,他基于所有 JavaScript于 標準的這些變化中,指出了一些好的可以去了解的,盡管里面所羅列的一些東西可能不是你所關注的。

[[218647]]

JavaScript 現今已發展成熟 -- 我們也不再是在頁面上做一些小小的互動元素了,而是使用 JavaScript 構建整個大型應用。 當然,這也使得其比過去更為復雜, 在這個變化萬千的 JavaScript 生態系統中,我們也已難以知道整個系統到底有多大。

Ethan Brown,以軟件工程師為職業的同時,還是 兩本 JavaScript 書籍 的作者,均由 O'Reilly 出版。 Ethan Brown 花了大量的時間剖析 JavaScript,嘗試著弄清楚這里面都有什么,以及一個現代 JavaScript 開發者該如何去開始迎合這些東西。

在2018里,對于聰明的開發者們可以去熟悉的東西, Brown 給出了他對 JavaScript 生態系統中各個方面最前沿,至少也是很有用的預測。有兩點需要說明的是: 首先,他基于所有 JavaScript于 標準的這些變化中,指出了一些好的可以去了解的,盡管里面所羅列的一些東西可能不是你所關注的。對這些有一些大體上的了解能夠讓你在遇到困難難以抉擇時,產生聯系,知道去找誰,知道該去了解什么樣的技術。

他還強調到,他所做的這些選擇完全根據他個人的想法以及經驗,這當然可能和你的完全不一樣。Brown 說到: “這些只是我的個人想法,我們都各有各的想法,而且這其中我也會有疏漏。”

先從需要關注的點開始

WebAssembly: WebAssembly 屬于 JavaScript 的一個子集, 它提供了一個針對其他語言的編譯器。 如果你想將你的 C++ 代碼編譯成 JavaScript, WebAssembly 就是你需要了解的 — 它允許幾乎任何語言運行于瀏覽器或者 Node 之中,而且也有了一些比較有意思的應用了。 Brown 說到:“我感覺這個技術會火,會變得非常重要。我也肯定會細心留意,并且在 2018 花些時間去更好的學習它。 ”

函數式編程: “并不是什么新的東西,也已經被 JavaScript 社區的大多數所應用, 但我覺的 2018 才是函數式編程真正達到具有質量和規模的一年”,Brown 說到。對其常見的批評都是更難去學習,更難去理解,Brown 繼續說到,但這也是看待問題的角度不同:讓所有人都開始使用函數式編程,在這種強制性的編程風格下所顯現出的迷惑、副作用以及混亂,我們看來也是非常奇怪的。

Brown 的建議:“如果你想嘗試真正嚴格的函數式編程,你可以看看 Elm 或者 ClojureScript, 不過,你也可以一句話從今天開始 ‘好的,我所有的代碼都要變成純函數式的了’。”

不可變性 (Immutability): 可以和函數式編程搭配在一起。 Brown 說到,“然而大部分人,第一次嘗試不可變數據結構時,都會想:‘Wow, 這不太高效啊,你對所有的東西都創建了副本,所占用的內存不是很必要啊’”。但需要記住的是,Brown 繼續到,你只是復制了變化的那一部分 -- 其他的結構依然保持不變。 同時,在 JavaScript 中進行嚴格比較速度快而且開銷低,大部分切換到不可變數據結構的人都表示性能提升了。

更好的是,不可變性為一些試驗行為提供了天然的保護網 -- 你在知道你無法修改任何已有東西,僅是創建了修改部分的副本的情況下,你會更愿意去試驗那些不熟悉的東西。這對入門開發者來說也非常好。

單向數據綁定: 這是前端同學關心的東西,由 Elm 提出,被 Facebook 應用于 Flux, 進而還有 Redux, 以及現在的 Angular 和 Vue”, Brown 說到。大家都越來越發覺這是個好東西, 在 2018 年也是時候去了解它了。

單向數據綁定讓你更方便地管理應用中的狀態 。 當你第一次嘗試的時候你會想,天啊,又要寫那么多代碼,有點大材小用的樣子了。對于一些小型應用來說,確實是大材小用了,但一旦你的應用達到了一定的規模,將會影響你對整個應用的控制而不僅僅是你所負責的部分。因為當你在使用單向數據綁定時,你需要考慮到應用的每一層數據的流轉。

計算屬性名/字面屬性值簡寫: “可以說這是 ECMAScript 6 (ES6) 的黑馬級特性。但我目前并沒有看到大家經常用到,我覺得會有很多地方可以用到。 他其實是一個小小的語法糖,能夠讓你動態的構建屬性名稱,對象初始化或簡寫對象屬性值。”,Brown 說到。 “我感覺像是每周都用這個特性玩出了新花樣。同時和函數式編程搭配在一起也是挺不錯的, 如果你之前沒見過一定要去了解一下 -- 我更希望看到社區中越來越多人去使用這個特性。”

不需要擔心的東西:

如 Brown 所說,至少現在,某些領域的知識可以選擇跳過。

面向對象編程: “我本人并不太喜歡在 JavaScript 中使用經典的面向對象編程。我認為會有更好的模型,更好的方式去實現代碼復用。所以在 JavaScript 領域中,你也會涉及到面向對象編程的知識但不必為此而感到煩惱。 ”

Generators: “這是 JavaScript 中一個比較酷的特性, 一些地方肯定會有它的使用案例,但我認為其主要的特性已經被 async/await 所替代。 我們很興奮的在 Koa.js 中使用 Generator ,這樣我們就可以用著同步的語義進行異步編程, 但現在有了 async 和 await 而且更好用。 所以除非你覺得在一些奇怪的使用案例中使用生成器比較合理的話也不用在意太多”, Brown 說到。

 

Symbol: “另外一個好的特性,對 JavaScript 語言的一個補充,但首先:我并沒有看到大家再用他;其次,每次我嘗試去使用 Symbol,除了在框架使用和序列化上出現問題外無其他收獲。”,Brown 說到??偟恼f來,對于 JavaScript 這門語言,他并不認為 Symbol 是個合適的設計。 他的建議:保持觀望的態度。 

責任編輯:龐桂玉 來源: 前端大全
相關推薦

2012-08-23 09:50:07

測試測試人員軟件測試

2010-11-23 10:55:47

跳槽

2020-07-28 08:28:07

JavaScriptswitch開發

2009-11-05 11:13:25

李嚴冰VMware

2021-05-26 10:19:01

jreJava應用程序

2017-03-13 13:54:40

戴爾

2021-05-07 15:18:26

比特幣禁令監管

2019-07-15 08:00:00

AI人工智能

2022-04-21 08:01:34

React框架action

2024-02-22 09:00:00

LogitMat數據集算法

2013-07-18 09:21:32

代碼文檔

2009-11-23 12:45:22

2018-01-17 15:33:14

2015-09-30 09:57:53

天分熱情工程師

2022-06-07 17:01:31

UI框架前端

2016-10-26 13:35:43

云自動資源負載

2016-10-26 20:21:34

自動縮放可擴展性

2014-09-30 16:03:35

iStick容量iPhone

2022-09-27 15:03:43

Java測試工具

2015-08-20 10:56:19

算法界面開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久国产精品 | 国产探花在线精品一区二区 | 国产精品美女久久久免费 | 亚洲视频在线观看 | 最新一级毛片 | 久久草在线视频 | 久久久久久黄 | 久久成人午夜 | 金莲网 | 婷婷久久五月天 | 国产精品国产三级国产aⅴ中文 | 神马久久久久久久久久 | 久久久精品日本 | 男人天堂免费在线 | 国产欧美日韩在线播放 | 欧美大片一区 | 91精品国产91久久综合桃花 | 日韩一区二区在线视频 | aa级毛片毛片免费观看久 | 九色www| 久久不卡 | 91亚洲国产成人精品一区二三 | 完全免费在线视频 | 久久久国产精品视频 | 日韩一区欧美一区 | 水蜜桃亚洲一二三四在线 | av电影手机在线看 | 国产成人精品999在线观看 | 九九热在线免费视频 | www.日韩av.com | 精品久久99 | 日韩欧美国产一区二区三区 | 国产在线观看av | 欧美日韩国产在线观看 | 成年人精品视频在线观看 | 国产在线二区 | 成人免费激情视频 | 天天综合久久 | 热99在线| 亚洲一二三区av | 中文字幕日韩欧美 |