原创 ECMAScript 6(ES6) 特性概覽和與ES5的比較13-迭代器

迭代器和For-Of 操作 支持“可迭代”協議,允許對象自定義其迭代行爲。 另外,支持“迭代器”協議來產生值序列(有限或無限)。 並且提供操作符方便迭代可迭代對象的所有值。當使用for…of循環遍歷某種數據結構時,該循環會自動去找It

原创 ECMAScript 6(ES6) 特性概覽和與ES5的比較14(上)-生成器Generators

十四.Generator生成器1.生成器函數,迭代協議2.直接使用生成器函數3.生成器匹配 1.生成器函數,迭代協議 支持生成器,包含生成器函數的迭代器的特殊情況,其中控制流可以暫停和恢復,以便生成值序列(有限或無限)。 ECMASc

原创 ECMAScript 6(ES6) 特性概覽和與ES5的比較11(下)-類

十一.類4.基類訪問5.靜態成員6.Getter/Setter 4.基類訪問 直觀訪問基類構造函數和方法。 ECMAScript 6 class Shape { ... toString () { re

原创 ECMAScript 6(ES6) 特性概覽和與ES5的比較14(下)-生成器Generators

十四.Generator生成器4.生成器控制流5.生成器方法 4.生成器控制流 支持生成器,迭代器的特殊情況,其中控制流可以暫停和恢復,以便支持與“協同例程”結合Promise的異步編程(見下文)。 [注意:通用異步函數通常由可重用的

原创 ECMAScript 6(ES6) 特性概覽和與ES5的比較12-符號類型

十二.符號類型1.符號類型2.全局符號 1.符號類型 唯一且不可變的數據類型,用作對象屬性的標識符。符號可以有可選的描述,但僅用於調試目的。 ECMAScript 6 Symbol("foo") !== Symbol("foo") c

原创 ECMAScript 6(ES6) 特性概覽和與ES5的比較8-增強對象的屬性

八.增強對象的屬性1.屬性的簡略表達2.計算屬性名3.方法屬性 1.屬性的簡略表達 常用對象屬性的更短的定義方式 ECMAScript 6 var x = 0,y = 0 obj = { x,y } ECMAScript 5 var

原创 ECMAScript 6(ES6) 特性概覽和與ES5的比較6-字符擴展

六.字符擴展1.二進制和八進制Unicode字符串和R正則表達式 1.二進制和八進制 直接支持安全二進制(binary)和八進制(octal)字符 ECMAScript 6 0b111110111 === 503 0o767 ===

原创 ECMAScript 6(ES6) 特性概覽和與ES5的比較7-增強正則表達式

七.增強正則表達式1. 正則表達式粘性匹配 1. 正則表達式粘性匹配 在匹配之間保持匹配位置粘滯,這種方式支持對任意長輸入字符串的有效解析,即使使用任意數量的不同正則表達式也是如此。(看不懂) ECMAScript 6 let par

原创 ECMAScript 6(ES6) 特性概覽和與ES5的比較5-文字模板

五.文字模板1.字符串插值2.自定義插值3.原始字符串訪問 1.字符串插值 單行和多行字符串的直觀表達式插值。 (注意:不要混淆,模板文字最初在ECMAScript 6語言規範草案中命名爲“模板字符串”) ECMAScript 6 v

原创 ECMAScript 6(ES6) 特性概覽和與ES5的比較10-模塊化

十.模塊化1.輸入/輸出值2.默認值和通配符(wildcard 野卡片=通配符O(∩_∩)O) 1.輸入/輸出值 支持從模塊導出或者導入值,而不會導致全局命名空間污染。 ECMAScript 6 // lib/math.js expo

原创 ECMAScript 6(ES6) 特性概覽和與ES5的比較9-解構分配

九.解構分配1.數組匹配2.對象匹配的簡寫表達3.對象匹配,深匹配4.對象和數組匹配,默認值5.參數上下文匹配6.軟解構 1.數組匹配 在解構中,將數組直觀且靈活地解構爲單個變量。 ECMAScript 6 var list= [ 1

原创 ECMAScript 6(ES6) 特性概覽和與ES5的比較3-箭頭函數

三.箭頭函數1.表達體2.聲明式函數體3. this 1.表達體 更具表現力的閉包語法 ECMAScript 6 odds = evens.map(v => v+1) //返回一個表達式 pairs = evens.map(v =>

原创 ECMAScript 6(ES6) 特性概覽和與ES5的比較1-const

一.const常量 常量 只會使變量本身不可變,而不是其分配的內容,例如:如果內容是對象,這意味着對象本身仍然可以更改。 ECMAScript 6 const PI = 3.1415926 PI>3.0 ECMAScript 5 /

原创 ECMAScript 6(ES6) 特性概覽和與ES5的比較2-let

二.作用域-let1.塊變量2.塊函數 1.塊變量 let 塊範圍的變量(和常量)沒有提升。(ES6中 let和const關鍵字定義的變量和常量不會被提升)。 ECMAScript 6 for (let i=0;i<a.length;

原创 ECMAScript 6(ES6) 特性概覽和與ES5的比較4-擴展參數處理

四.擴展參數處理1.參數的默認值閒置參數3.參數傳遞 1.參數的默認值 簡單直觀的功能參數默認值 ECMAScript 6 function f (x, y=7, z=42) { return x + y + z } f(1)