着眼語言本身,咱們來聊聊 JavaScript | 極客時間

JavaScript 和 HTML 、CSS 同屬前端工程師必須掌握的三大技能,重要性不言而喻。這幾年,隨着行業的發展,JavaScript 更是變得無所不能,毫不誇張地說,現在我們看到的基本所有的主流互聯網應用,它的前端都有大量的 JavaScript 代碼。

但是,入行 20 多年,我發現很多人對 JavaScript 的印象都只是“簡單易學”,對其掌握也僅僅停留在“會用就好”,以至於不求甚解、迷失於 JavaScript 。究其原因,他們從來都只是“寫代碼”,而沒有去真正去了解、去探索“什麼是語言”。

其實,JavaScript 作爲一門語言,雖然易上手,但卻有着諸多複雜微妙的機制,想要真正掌握絕非易事。而這些機制,正是語言的精髓。只有當你深入理解語言內部的實現原理,才能做到無論出現什麼新技術、新框架,都能輕鬆應對。

這也是爲什麼我一直認爲:每個工程師都應該構建一個語言知識結構。因爲,一旦你建立了你的體系性,你對代碼的洞察力絕對會隨之而提升,讓你可以在紛繁的代碼中快速找到性能、組織、邏輯等方面的關鍵所在,並在語言層面給出合理的解釋。這就相當於你創建了遊戲規則,擁有了“編程遊戲”中的上帝視角。你將會有一種切實的、萬物如一的操控感

在過去的二十年中,我一直不斷探索 JavaScript 語言背後的機制:一面研究它的語言精髓,一面做編程實踐。在我和極客時間合作的《JavaScript 核心原理解析》專欄中,我希望把我找到的答案分享給你。我將以“語言”爲核心,和你一起討論我對 JavaScript 各種語言特性的理解。

你會發現,這個專欄和其他不同,每一講的標題都是一行代碼,並且,這些代碼在表達多種語言特性的同時,都指向一個核心的內容講述方向。

我希望通過這個專欄,你能找到自己對語言的認識,構建一個語言知識結構。因爲我始終認爲,“構造認識”對你是極致重要的事情,並且越早越好。

也歡迎你在專欄中跟我一起探討 JavaScript,我會知無不言言無不盡。

我是誰?

我是周愛民,目前是南潮科技(Ruff)首席架構師。和你一樣,我是個喜歡 JavaScript 的人。很多人認識我,可能都是通過我寫的《JavaScript 語言精髓與編程實踐》一書。

從業二十多年,我深入研究過 JavaScript、Delphi、Erlang,也專注於軟件開發與架構、項目管理,曾擔任盛大網絡平臺架構師、支付寶業務架構師和豌豆莢首席架構師。

我也特別熱愛寫作與分享,出過《Delphi 源代碼分析》、《大道至簡:軟件工程實踐者的思想》、《大道至易:實踐者的思想》、《程序原本》以及《我的架構思想:基本模型、理論與原則》等書。

你將獲得什麼?

專欄分爲以下 4 個模塊。

1.從零開始

第一部分我會主要講述構成 JavaScript 語言的基礎——JavaScript 語言的靜態結構,主要包括詞法環境、塊級作用域、語句、聲明、字面量、變量環境、模塊(名字空間)等等。

2.從表達式到執行引擎

第二部分我會主要講述 JavaScript 的執行過程,包括執行棧、執行隊列、執行上下文、函數(函數對象/閉包)作爲執行結構如何參與運算等等,還將講述表達式(運算符+操作數)與優先級這個體系,說明表達式運算與語句運算間的不同。

3.從原型到類

第三部分我會講述 JavaScript 面向對象編程體系中最核心的一些設計,包括類繼承、原型繼承、屬性表的使用、內部方法等等,並對索引數組和關聯數組在 JavaScript 中的應用與整合做深度的分析。

4.從粗通到精通的進階之路

最後,我會講述 JavaScript 作爲動態語言的主要特性,包括動態的類型、動態的執行過程和動態的環境上下文等等。

專欄目錄👇

限時訂閱福利

1.早鳥拼團價 ¥55,原價 ¥68,戳我訂閱
2.分享海報,邀請好友訂閱即可獲得 ¥18 返現,多邀多得,上不封頂。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章