JavaScript 之所以能在編程語(yǔ)言中名列前茅,是有充分的理由的。
如 GitHub 的 The State of the Octoverse 報(bào)告的這張圖所示,如果按 GitHub 上項(xiàng)目的貢獻(xiàn)者數(shù)量統(tǒng)計(jì),JavaScript 一直是最受歡迎的編程語(yǔ)言。
熱門(mén)語(yǔ)言,根據(jù)《The State of the Octoverse》(?2019,GitHub Corp)
在本系列的 上一篇 中,我們深入了解了 JavaScript 的歷史。在這篇文章中,我將分享它如此受歡迎的四個(gè)原因。
1、JavaScript 適合初級(jí)、中級(jí)和高級(jí)開(kāi)發(fā)人員
JavaScript 不需要任何環(huán)境設(shè)置,只要打開(kāi)瀏覽器,比如 Chrome 瀏覽器,導(dǎo)航到開(kāi)發(fā)者工具,就可以開(kāi)始編碼。編寫(xiě)一個(gè) “Hello World” 的程序,就這么簡(jiǎn)單:
console.log(“Hello World”);
JavaScript 的靈活性最適合中級(jí)開(kāi)發(fā)人員。該語(yǔ)言通過(guò)讓開(kāi)發(fā)人員專(zhuān)注于解決問(wèn)題來(lái)幫助你完成任務(wù)。開(kāi)發(fā)者可以混合使用插件和自己的代碼片段來(lái)讓一個(gè)應(yīng)用程序工作。
雖然 JavaScript 比較容易上手,但它也并不是一下子就能掌握的。如果你想達(dá)到高級(jí)水平,這里有一些你需要了解的概念:
JavaScript 的多范式特性: JavaScript 同時(shí)支持函數(shù)式編程和面向?qū)ο缶幊蹋∣OP)。
在 JavaScript 中應(yīng)用設(shè)計(jì)模式: 模型-視圖-*(MV*)設(shè)計(jì)模式一直是最流行的模式之一,并促成了多個(gè)現(xiàn)代框架的發(fā)展。
帶原型鏈的繼承: JavaScript 由于其動(dòng)態(tài)的特性,無(wú)法實(shí)現(xiàn)傳統(tǒng)的 Java 基于類(lèi)的模式下的 OOP。JavaScript 中的 OOP 是通過(guò)原型繼承模型實(shí)現(xiàn)的。
閉包: 閉包可以從內(nèi)部函數(shù)中訪(fǎng)問(wèn)外部函數(shù)的作用域。
柯里化Currying: 柯里化是函數(shù)的一種轉(zhuǎn)換,它將函數(shù)從 f(a, b, c) 的調(diào)用形式轉(zhuǎn)換為 f(a)(b)(c) 調(diào)用形式。
Promises 和 Observables: 這些可以幫助你處理異步函數(shù)。
TypeScript: 在 JavaScript 中添加了靜態(tài)類(lèi)型。
2、全平臺(tái)
JavaScript 可以在任何地方運(yùn)行,包括:
在客戶(hù)端和服務(wù)器端。
這種在任何地方都能運(yùn)行的能力使 JavaScript 成為一種通用語(yǔ)言。
3、開(kāi)放標(biāo)準(zhǔn)和社區(qū)
ECMAScript 是 JavaScript 的標(biāo)準(zhǔn)化版本,也是一種開(kāi)放的標(biāo)準(zhǔn)語(yǔ)言。公司可以使用 ECMAScript 來(lái)創(chuàng)建 JavaScript 的實(shí)現(xiàn)。根據(jù)維基百科,“ECMAScript 引擎是執(zhí)行以 ECMAScript 語(yǔ)言標(biāo)準(zhǔn)編寫(xiě)的源代碼(例如,JavaScript)的程序”。最流行的引擎 V8 和 SpiderMonkey 是開(kāi)源項(xiàng)目。
JavaScript 已經(jīng)存在了 25 年,背后有一個(gè)龐大的社區(qū)。開(kāi)發(fā)者們簡(jiǎn)直目不暇接,社區(qū)已經(jīng)構(gòu)建了如此多的插件和框架,以至于創(chuàng)造了“框架疲勞”這個(gè)詞。
4、現(xiàn)代框架
現(xiàn)代框架如 React、Angular 和 Vue.js 已經(jīng)穩(wěn)定下來(lái),并且正在進(jìn)行優(yōu)化以獲得更好的性能。大多數(shù)框架對(duì)開(kāi)發(fā)者非常友好,有良好的社區(qū)支持。
未來(lái)
JavaScript 將長(zhǎng)期存在。全棧開(kāi)發(fā)和現(xiàn)代前端框架繼續(xù)幫助 JavaScript 鞏固其作為最受歡迎的編程語(yǔ)言之一的地位。
JavaScript 的下一波可能會(huì)將焦點(diǎn)放在。
Deno: JavaScript 的現(xiàn)代安全運(yùn)行時(shí)。
網(wǎng)絡(luò)組件: 可重復(fù)使用的自定義元素。
與 AI 和 ML 的整合: 像 Supernova 和 BAYOU 這樣的項(xiàng)目在將 JavaScript 與人工智能和機(jī)器學(xué)習(xí)整合方面取得了實(shí)質(zhì)性的突破。
責(zé)編AJX
-
編程
+關(guān)注
關(guān)注
88文章
3614瀏覽量
93685 -
匯編語(yǔ)言
+關(guān)注
關(guān)注
14文章
409瀏覽量
35793 -
javascript
+關(guān)注
關(guān)注
0文章
516瀏覽量
53850
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論