完美世界手游官网隐藏任务 www.gytoi.icu

圖0:JavaScript個性特點:編程語言界的平頭哥

JavaScript 這家伙已經瘋球了,什么都不在乎的。無論你把什么玩意兒丟給他,他都能給你擺平。根本不要在這位老哥面前提什么編譯錯誤。就是一坨??? 老哥都能給你運行。什么,你在擔心他會給出一個錯誤的結果?都給你結果了還要啥自行車?如果你擔心結果會是錯的,那自己用 jest 或 mocha 弄一個測試就結了。

JavaScript 測試框架也是啥都不在乎。你用他測試啥都行。不要給我說什么依賴注入、接口過度泛化、反射機制!老哥跑測試就是一把梭!存根(stub),監視(spy),模擬(mock),抄起 sinon 就是干!端到端測試用 webdriverio,API 測試用 lodash-match-pattern,穩如狗!

你說 JavaScript 邋邋遢遢、不夠帥氣?人家根本就不在乎好吧。你要是嫌棄,就用 eslint、standardize it、prettier 這些工具來給老哥打扮打扮吧。

平頭哥 JavaScript 渾身是膽,根本不在乎你怎么看。在老哥這里不要提什么私有(private)變量、?;ぃ╬rotected)變量。你盡管檢查對象、更改函數,管你啥時候。平頭哥一身正氣,從不藏著掖著。你問他為啥會這樣?藝高人膽大??!

JavaScript 老哥從不磨嘰。等什么等啊,一看就不是平頭哥的作風。JavaScript 從來不等那些數據庫存取、API 調用什么的。錯過了 await 關鍵字、沒完成 Promise 對象,沒關系!還是該吃吃該睡睡!

想來點靜態類?老哥請 TypeScript 或 Flow 兄弟們來幫忙就成。不過你可能會覺得這有點像給平頭哥戴個游泳圈。是有點違和,最后任何類型的聲明都能把他輕松擊敗。(不過,現在還有人在乎“類型安全”什么的嗎?)

圖1:JavaScript個性特點:編程語言界的平頭哥

平頭哥喜歡用工具,JavaScript 也是。
last count(//www.modulecounts.com/)統計出,NPM 包的項目里有超過 800,000 個??欏笤際?Maven(Java)的三倍了。所以就算這里面的大部分??楹湍嗟耙謊衷嚶殖笥衷躚?,每個月有 180 億的下載量呢,不服都不行。

平頭哥啥都能吃:毒蛇、猛禽蛋、蝎子,來者不拒,最愛的是蜜蜂幼蟲。是什么東西不重要,在平頭哥眼里都是“吃的”。JavaScript 也能消化一切東西,管你喂給他什么,對他來說全是“對象”。更絕的是,解構和展開語法讓 JavaScript 能把對象嚼得碎碎的,吃得更美味、更有營養。

JavaScript 才不在乎怎么和別的語言接口:protobuf 啦,swagger 定義啦,RESTish 啦,graphQL 啦,都招呼上來。老哥就是干這活的,大雜燴 API 把所有接口方式照單全收,交給他處理就行。

平頭哥 JavaScript 家的小弟們

Lodash 也是個狠角兒。你要是覺得 JavaScript 中還需要用 for 循環 while 循環什么的,Lodash 就笑笑不說話。如果你在 JavaScript 里還用原始的 foreach、map、filter 等語句,Lodash 表示不想理你。如果你在做字符串處理、類型檢查或給對象集變形時還在自己手動寫代碼,Lodash 只能對你說:對不起我們不認識。

在操控日期方面,momentjs 有自己的想法。他不會在意什么時區、時間存檔,甚至連你在哪兒他都不在乎。無論你輸入的日期格式有多蠢,他都能抽絲剝繭找到其本質所在,然后輸出你所在時區的正確時間格式。

讓我們來看看還有哪個老實人需要 ORM(對象關系映射),我們來嘲笑他。反正 JavaScript 不需要。關系型數據表本質不是 OOP 對象,它還想騙你多動腦筋。有了 knexjs,JavaScript 可以避免數據庫 / 對象不匹配問題、有漏洞的 ORM 抽象問題,而且一般都能跳過冗余的 OOP 模型定義,因為有 SQL 數據模型就夠了。

你是誰,你來自哪里,你現在要做什么?passport 模型能幫你回答這一深奧的哲學問題。

忘了你那神圣的前端 MVC 模式吧!React 以及他的朋友 redux,vue 等等已經徹底毀滅了這一誤用的、過度泛化的教條。

還有一些工具如 bluebird、axios、babel 等等,這些兄弟們一起協助 JavaScript,讓平頭哥更加無所畏懼。

圖2:JavaScript個性特點:編程語言界的平頭哥

被用了那么多年,也被罵了那么多年,JavaScript 臉皮已經相當厚了。各種編程實踐都離不開他,世界各地的開發者們也都在吐槽他。但無論如何,老哥在 GitHub 上每年有 230 萬下載量,我管你怎么想叻~

余下全文(1/3)

本文最初發表在www.infoq.cn,文章內容屬作者個人觀點,不代表本站立場。

分享這篇文章:

請關注我們:

《JavaScript個性特點:編程語言界的平頭哥》有1個想法

  1. 姓名 對這篇文章的反應是好文

發表評論

電子郵件地址不會被公開。 必填項已用*標注