本書以JavaScript作為基本程式語言,並以最新的ES2015標準作為JavaScript程式撰寫標準,旨在介紹如何以最新的JavaScript程式標準撰寫出更具可讀性、更方便、更具工程化優勢的程式。
首先介紹JavaScript標準版本的發展歷史,然後簡要概括ES2015的作用和意義。在此基礎上,詳細說明JavaScript在ES2015標準中新增內容(如箭頭函數、範本字串、新的資料結構、類別語法、產生器等)的基本用法和注意要點。當大部分讀者對ES2015有進一步的了解後,本書便會以實際的開發專案向大家展示如何利用ES2015標準,較好地實現JavaScript應用。
最後,還會對最新發佈的ES2016標準進行研究和探討,展望未來JavaScript的發展方向。
作者介紹
作者簡介
小問
本名甘超陽,高級 JavaScript 工程師,中國Node.js 最早的研究者之一,技術佈道者、講師,參與並維護多個優秀JavaScript 開發項目。對多方面的技術領域都有研究和見解,熟悉各類JavaScript和機器學習應用開發。同時也是業餘攝影師,熱愛人像攝影。
個人博客lifemap.in 。
小問
本名甘超陽,高級 JavaScript 工程師,中國Node.js 最早的研究者之一,技術佈道者、講師,參與並維護多個優秀JavaScript 開發項目。對多方面的技術領域都有研究和見解,熟悉各類JavaScript和機器學習應用開發。同時也是業餘攝影師,熱愛人像攝影。
個人博客lifemap.in 。
目錄
前言
01» ECMAScript 版本發展歷程
1.1 ECMAScript的歷史更替
1.2 小結
02» ES2015能為實際開發帶來什麼
2.1 ES2015概述
2.2 語法糖
2.3 工程優勢
2.4 小結
03» ES2015新語法詳解
3.1 let、const和區塊級作用域
3.2 箭頭函數(Arrow Function)
3.3 範本字串(Template String)
3.4 物件常量擴充語法(Enhanced Object Literals)
3.5 運算式解構(Destructuring)
3.6 函數參數表達、傳參
3.7 新的資料結構
3.8 類別語法(Classes)
3.9 產生器(Generator)
3.10 Promise
3.11 程式模組化
3.12 Symbol
3.13 Proxy
3.14 小結
04» ES2015的前端開發實戰
4.1 Filmy的功能規劃
4.2 功能元件分割
4.3 技術選型
4.4 資料層開發
4.5 入口檔案與路由元件開發
4.6 到達頁面開發
4.7 分類頁面開發
4.8 管理工具開發
4.9 初始化Filmy實例
4.10 管理工具的整體組織
4.11 相簿發佈頁面
4.12 包裝發佈
4.13 小結
05» ES2015的Node.js開發實戰
5.1 Duel Living的功能規劃
5.2 資料層開發
5.3 服務端基本架構開發
5.4 API開發
5.5 直播網路
5.6 直播間用戶端
5.7 部署應用
5.8 小結
06» ES2016標準
6.1 Array.prototype.includes
6.2 冪運算子
6.3 小結
07» 展望更遠的未來
7.1 async/await
7.2 Decorators
7.3 函數綁定
7.4 小結
附錄A 其他ES2015新特性
01» ECMAScript 版本發展歷程
1.1 ECMAScript的歷史更替
1.2 小結
02» ES2015能為實際開發帶來什麼
2.1 ES2015概述
2.2 語法糖
2.3 工程優勢
2.4 小結
03» ES2015新語法詳解
3.1 let、const和區塊級作用域
3.2 箭頭函數(Arrow Function)
3.3 範本字串(Template String)
3.4 物件常量擴充語法(Enhanced Object Literals)
3.5 運算式解構(Destructuring)
3.6 函數參數表達、傳參
3.7 新的資料結構
3.8 類別語法(Classes)
3.9 產生器(Generator)
3.10 Promise
3.11 程式模組化
3.12 Symbol
3.13 Proxy
3.14 小結
04» ES2015的前端開發實戰
4.1 Filmy的功能規劃
4.2 功能元件分割
4.3 技術選型
4.4 資料層開發
4.5 入口檔案與路由元件開發
4.6 到達頁面開發
4.7 分類頁面開發
4.8 管理工具開發
4.9 初始化Filmy實例
4.10 管理工具的整體組織
4.11 相簿發佈頁面
4.12 包裝發佈
4.13 小結
05» ES2015的Node.js開發實戰
5.1 Duel Living的功能規劃
5.2 資料層開發
5.3 服務端基本架構開發
5.4 API開發
5.5 直播網路
5.6 直播間用戶端
5.7 部署應用
5.8 小結
06» ES2016標準
6.1 Array.prototype.includes
6.2 冪運算子
6.3 小結
07» 展望更遠的未來
7.1 async/await
7.2 Decorators
7.3 函數綁定
7.4 小結
附錄A 其他ES2015新特性
序
前言
歷時至少7年制定的新ECMAScript標準--ECMAScript 6(亦稱ECMAScript Harmony,簡稱ES6),終於在2015年6月正式發佈。ES6也被稱為ES2015,自從2009年上一個標準版本ES5發佈以來,ES2015就一直以其新語法、新特性吸引許多JavaScript開發者,驅使他們積極嘗鮮。
ES6的第一個特性草案發佈於2011年7月。
雖然各大瀏覽器廠商所開發的JavaScript引擎至今都還沒有實現對ES2015中所有特性的完美支援,但這並不能阻擋工程師們對ES2015的熱情。於是,Babel、Traceur等編譯器便出現了。在ES2015標準正式發佈之前,這些編譯器便能將尚未獲得支援的ES2015特性轉為ES5標準的程式,使其獲得瀏覽器的支援。其中,Babel因具有模組化轉換器(Transpiler)這一設計特點贏得了絕大多數JavaScript開發者的青睞,本文也將以Babel為基礎工具,向大家展示ES2015的神奇魅力。
如今,使用ES2015標準進行工程開發已經深入人心,甚至連ES2016標準也已經在2016年正式發佈。在這個如此恰當的時機,我覺得應該寫一本通俗易懂關於 ES2015 標準的書來啟動廣大JavaScript同好和工程師向新時代邁進。
本書內容
本書以JavaScript作為基本程式語言,並以最新的ES2015標準作為JavaScript程式撰寫標準,旨在介紹如何以最新的JavaScript程式標準撰寫出更具可讀性、更方便、更具工程化優勢的程式。
本書首先介紹JavaScript標準版本的發展歷史,然後簡要概括ES2015的作用和意義。在此基礎上,詳細說明JavaScript在ES2015標準中新增內容(如箭頭函數、範本字串、新的資料結構、類別語法、產生器等)的基本用法和注意要點。當大部分讀者對ES2015有進一步的了解後,本書便會以實際的開發專案向大家展示如何利用ES2015標準,較好地實現JavaScript應用。
最後,本書還會對最新發佈的ES2016標準進行研究和探討,展望未來JavaScript的發展方向。
本書讀者
本書的目標讀者有以下三種:
1.正在學習JavaScript開發,對JavaScript語言有基本的了解和熟悉度,且希望能更早地了解JavaScript發展情況的人。
2.正從事JavaScript開發相關工作,熟悉JavaScript的基本開發要領,且有意掌握最新的JavaScript技術進行自我提升的Web工程師(此處不區分前端與後端)。
3.希望更深入地研究JavaScript這門開發語言的JavaScript工程師。
與此同時,本書也適合正使用其他程式語言(如Python、Ruby、Java等)進行Web開發的工程師來學習現代前端開發的知識。
使用範例
要執行本書中的範例,需要安裝以下系統及軟體。
.作業系統:Mac OS X 10.9或以上版本、Windows 7或以上版本、Linux。
.瀏覽器:Google Chrome、Safari、Firefox、Internet Explorer 11、Windows Edge。
.執行環境:Node.js 4.0或以上版本。
本書結構
第1章 回顧ECMAScript版本發展歷程
說明歷代ECMAScript標準版本的發展歷程以及對前一個版本的新增和修正。對不了解ECMAScript或JavaScript的初學者來說,了解ECMAScript的發展歷程有助更進一步地了解它的現狀,同時也對往後的學習有更好的幫助。
第2章 ES2015能為JavaScript的開發帶來什麼
對企業來說,一項技術最重要的是它能為企業帶來的效益,ES2015中整合不少從前需要開發者自行完成的特性或工具,能夠加強ECMAScript所屬語言的工程化屬性。
第3章 ES2015新語法詳解
詳細介紹ES2015中比較重要幾種特性,並以較為常見的實例說明它們的作用方法,讓讀者能更進一步地了解。從誕生緣由、使用方法以及相關事例幾個方面來介紹每一個新的特性,與其他介紹ES2015標準的文章或書籍不一樣的是,本書將以第一線工程師在實際開發經驗中歸納出來的注意事項為例,將一些已知的、容易出現的錯誤點提出說明。
第4章 ES2015的前端開發實戰
以Filmy為背景,利用ES2015標準開發該專案的前端JavaScript應用部分,其中有關JavaScript的模組化開發、協力廠商函數庫的使用、前端JavaScript應用工程化等內容。開發該專案本著能夠真正投入使用的原則,旨在讓讀者明白如何將ES2015這一新標準運用到開發當中來最佳化和提升開發體驗,同時累積實際經驗。
第5章 ES2015的Node.js開發實戰
以競技比賽直播系統為開發內容,說明ES2015在Node.js中的開發體驗以及相對於ES5時代中Node.js開發的改進之處。另外,這個專案還會使用到一些新的Web技術,如使用WebSocket、WebRTC(P2P)等通訊API來替代一些較為老舊的通訊技術,以表現在許多新潮技術的幫助下,目前最為火熱的直播類別應用如何進行開發。
第6章 ES2016標準
在ES2015標準之後,ECMA標準委員會在2016年發佈ES2016標準。這章介紹ES2016相對於ES2015有了哪些改進,以及為開發者帶來哪些更引人注目的特性。
第7章 展望更遠的未來
ECMAScript一直處在快速發展的過程中,除了ES2015和ES2016中所包含的新特性以外,更有很多讓人興奮的新特性處在實驗開發階段,這些功能很可能會在不久的將來進入ECMAScript標準。
寫作感言
這本書是由一篇較長的關於ES2015標準介紹的文章所發展出來的,歷時6個月寫作完成。在這6個月中,ECMA委員會還發佈了最新的ES2016標準,而國內外不同的團隊對ES2015甚至ES2016的使用率也漸漸達到一個前所未有的高度,新語法、新特性的使用也開始成為JavaScript開發團隊中的標準配備。
另外我還得特別感謝一些人。首先要感謝我的家人,在我成為「全職作者」這段時間內所給予我的支援和鼓勵。感謝本書的策劃編輯張春雨,給予我這個機會將一篇文章寫成一本完整的書籍,也是他讓我重啟擱置多年的出版計畫。同時還要感謝賀師俊老師(hax)、程邵非老師(winter)等前輩給予本書的大力支持和寶貴建議,使本書的內容不至於空洞,也讓我受益良多。
聯繫作者
我由衷地感謝讀者購買此書,希望你會喜歡它,能夠帶給你所期待獲得的知識。雖然我已經非常細心地檢查書中所提到的所有內容,但仍有可能存在疏漏,若閱讀過程中發現錯誤,在此我先表示歉意。同時歡迎你對本書的內容和相關原始程式碼發表意見和評論。可以透過我的私人電子郵件[email protected]與我取得聯繫,清楚地說明來意,我會一一解答疑惑。
歷時至少7年制定的新ECMAScript標準--ECMAScript 6(亦稱ECMAScript Harmony,簡稱ES6),終於在2015年6月正式發佈。ES6也被稱為ES2015,自從2009年上一個標準版本ES5發佈以來,ES2015就一直以其新語法、新特性吸引許多JavaScript開發者,驅使他們積極嘗鮮。
ES6的第一個特性草案發佈於2011年7月。
雖然各大瀏覽器廠商所開發的JavaScript引擎至今都還沒有實現對ES2015中所有特性的完美支援,但這並不能阻擋工程師們對ES2015的熱情。於是,Babel、Traceur等編譯器便出現了。在ES2015標準正式發佈之前,這些編譯器便能將尚未獲得支援的ES2015特性轉為ES5標準的程式,使其獲得瀏覽器的支援。其中,Babel因具有模組化轉換器(Transpiler)這一設計特點贏得了絕大多數JavaScript開發者的青睞,本文也將以Babel為基礎工具,向大家展示ES2015的神奇魅力。
如今,使用ES2015標準進行工程開發已經深入人心,甚至連ES2016標準也已經在2016年正式發佈。在這個如此恰當的時機,我覺得應該寫一本通俗易懂關於 ES2015 標準的書來啟動廣大JavaScript同好和工程師向新時代邁進。
本書內容
本書以JavaScript作為基本程式語言,並以最新的ES2015標準作為JavaScript程式撰寫標準,旨在介紹如何以最新的JavaScript程式標準撰寫出更具可讀性、更方便、更具工程化優勢的程式。
本書首先介紹JavaScript標準版本的發展歷史,然後簡要概括ES2015的作用和意義。在此基礎上,詳細說明JavaScript在ES2015標準中新增內容(如箭頭函數、範本字串、新的資料結構、類別語法、產生器等)的基本用法和注意要點。當大部分讀者對ES2015有進一步的了解後,本書便會以實際的開發專案向大家展示如何利用ES2015標準,較好地實現JavaScript應用。
最後,本書還會對最新發佈的ES2016標準進行研究和探討,展望未來JavaScript的發展方向。
本書讀者
本書的目標讀者有以下三種:
1.正在學習JavaScript開發,對JavaScript語言有基本的了解和熟悉度,且希望能更早地了解JavaScript發展情況的人。
2.正從事JavaScript開發相關工作,熟悉JavaScript的基本開發要領,且有意掌握最新的JavaScript技術進行自我提升的Web工程師(此處不區分前端與後端)。
3.希望更深入地研究JavaScript這門開發語言的JavaScript工程師。
與此同時,本書也適合正使用其他程式語言(如Python、Ruby、Java等)進行Web開發的工程師來學習現代前端開發的知識。
使用範例
要執行本書中的範例,需要安裝以下系統及軟體。
.作業系統:Mac OS X 10.9或以上版本、Windows 7或以上版本、Linux。
.瀏覽器:Google Chrome、Safari、Firefox、Internet Explorer 11、Windows Edge。
.執行環境:Node.js 4.0或以上版本。
本書結構
第1章 回顧ECMAScript版本發展歷程
說明歷代ECMAScript標準版本的發展歷程以及對前一個版本的新增和修正。對不了解ECMAScript或JavaScript的初學者來說,了解ECMAScript的發展歷程有助更進一步地了解它的現狀,同時也對往後的學習有更好的幫助。
第2章 ES2015能為JavaScript的開發帶來什麼
對企業來說,一項技術最重要的是它能為企業帶來的效益,ES2015中整合不少從前需要開發者自行完成的特性或工具,能夠加強ECMAScript所屬語言的工程化屬性。
第3章 ES2015新語法詳解
詳細介紹ES2015中比較重要幾種特性,並以較為常見的實例說明它們的作用方法,讓讀者能更進一步地了解。從誕生緣由、使用方法以及相關事例幾個方面來介紹每一個新的特性,與其他介紹ES2015標準的文章或書籍不一樣的是,本書將以第一線工程師在實際開發經驗中歸納出來的注意事項為例,將一些已知的、容易出現的錯誤點提出說明。
第4章 ES2015的前端開發實戰
以Filmy為背景,利用ES2015標準開發該專案的前端JavaScript應用部分,其中有關JavaScript的模組化開發、協力廠商函數庫的使用、前端JavaScript應用工程化等內容。開發該專案本著能夠真正投入使用的原則,旨在讓讀者明白如何將ES2015這一新標準運用到開發當中來最佳化和提升開發體驗,同時累積實際經驗。
第5章 ES2015的Node.js開發實戰
以競技比賽直播系統為開發內容,說明ES2015在Node.js中的開發體驗以及相對於ES5時代中Node.js開發的改進之處。另外,這個專案還會使用到一些新的Web技術,如使用WebSocket、WebRTC(P2P)等通訊API來替代一些較為老舊的通訊技術,以表現在許多新潮技術的幫助下,目前最為火熱的直播類別應用如何進行開發。
第6章 ES2016標準
在ES2015標準之後,ECMA標準委員會在2016年發佈ES2016標準。這章介紹ES2016相對於ES2015有了哪些改進,以及為開發者帶來哪些更引人注目的特性。
第7章 展望更遠的未來
ECMAScript一直處在快速發展的過程中,除了ES2015和ES2016中所包含的新特性以外,更有很多讓人興奮的新特性處在實驗開發階段,這些功能很可能會在不久的將來進入ECMAScript標準。
寫作感言
這本書是由一篇較長的關於ES2015標準介紹的文章所發展出來的,歷時6個月寫作完成。在這6個月中,ECMA委員會還發佈了最新的ES2016標準,而國內外不同的團隊對ES2015甚至ES2016的使用率也漸漸達到一個前所未有的高度,新語法、新特性的使用也開始成為JavaScript開發團隊中的標準配備。
另外我還得特別感謝一些人。首先要感謝我的家人,在我成為「全職作者」這段時間內所給予我的支援和鼓勵。感謝本書的策劃編輯張春雨,給予我這個機會將一篇文章寫成一本完整的書籍,也是他讓我重啟擱置多年的出版計畫。同時還要感謝賀師俊老師(hax)、程邵非老師(winter)等前輩給予本書的大力支持和寶貴建議,使本書的內容不至於空洞,也讓我受益良多。
聯繫作者
我由衷地感謝讀者購買此書,希望你會喜歡它,能夠帶給你所期待獲得的知識。雖然我已經非常細心地檢查書中所提到的所有內容,但仍有可能存在疏漏,若閱讀過程中發現錯誤,在此我先表示歉意。同時歡迎你對本書的內容和相關原始程式碼發表意見和評論。可以透過我的私人電子郵件[email protected]與我取得聯繫,清楚地說明來意,我會一一解答疑惑。
網路書店
類別
折扣
價格
-
新書79折$387
-
新書79折$387
-
新書85折$417
-
新書9折$441
-
新書9折$441
-
新書$523