本書以JavaScript作為基本程式語言,旨在介紹如何以JavaScript程式標準撰寫出更具可讀性、更方便、更具工程化優勢的程式。
首先介紹JavaScript標準版本的發展歷史作為切入,然後以ES2015為例簡要概括標準化規範的作用和意義;在此基礎上,詳細說明JavaScript如箭頭函數、範本字串、新的資料結構、類別語法、產生器等重要的涵範內容及基本用法與注意要點。
當大部分讀者對JavaScript標準化規範有進一步的了解後,本書便會以實際的開發專案向大家展示如何利用,出色的實現JavaScript應用。
本書期望能對JavaScript語言有基本了解和熟悉度,且希望能更加了解JavaScript的讀者有所助益。
適用:正在學習JavaScript開發相關工作,或更深入研究JavaScript開發的工程師,或使用其他程式語言(如Python、Ruby、Java等)進行Web開發的工程師來學習現代前端開發的知識。
作者簡介:
小問
本名甘超陽,高級JavaScript工程師,中國Node.js最早的研究者之一,參與並維護多個優秀JavaScript開發項目。對多方面的技術領域都有研究和見解,熟悉各類JavaScript和機器學習應用開發。同時也是業餘攝影師,熱愛人像攝影。
個人博客 http://lifemap.in。
作者序
歷時至少7年制定的新ECMAScript標準--ECMAScript6(亦稱ECMAScriptHarmony,簡稱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標準。
歷時至少7年制定的新ECMAScript標準--ECMAScript6(亦稱ECMAScriptHarmony,簡稱ES6),終於在2015年6月正式發佈。ES6也被稱為ES2015,自從2009年上一個標準版本ES5發佈以來,ES2015就一直以其新語法、新特性吸引許多JavaScript開發者,驅使他們積極嘗鮮。
ES6的第一個特性草案發佈於2011年7月。
雖然各大瀏覽器廠商所開發的JavaScript引擎至今都還沒有實現對ES2015中所有特性的完美支援,但這並不能阻擋工程師們對ES2015的熱情。於是,Babel、Traceur等編譯器便出現了。在ES2015標準正式發佈之前,這些編譯器便能將尚未獲得支援的ES2015特...
目錄
前言
CHAPTER 01 ECMAScript版本發展歷程
1.1 ECMAScript的歷史更替
1.2 小結
CHAPTER 02 ES2015能為實際開發帶來什麼
2.1 ES2015概述
2.2 語法糖
2.3 工程優勢
2.4 小結
CHAPTER 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 小結
CHAPTER 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 小結
CHAPTER 05 ES2015的Node.js開發實戰
5.1 Duel Living的功能規劃
5.2 資料層開發
5.3 服務端基本架構開發
5.4 API開發
5.5 直播網路
5.6 直播間用戶端
5.7 部署應用
5.8 小結
CHAPTER 06 ES2016標準
6.1 Array.prototype.includes
6.2 冪運算子
6.3 小結
CHAPTER 07 展望更遠的未來
7.1 async/await
7.2 Decorators
7.3 函數綁定
7.4 小結
APPENDIX A 其他ES2015新特性
A-1 String字串
A-2 Array陣列
A-3 Object物件
前言
CHAPTER 01 ECMAScript版本發展歷程
1.1 ECMAScript的歷史更替
1.2 小結
CHAPTER 02 ES2015能為實際開發帶來什麼
2.1 ES2015概述
2.2 語法糖
2.3 工程優勢
2.4 小結
CHAPTER 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 小結
CH...
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。