|
導讀微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一... 微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一項門檻非常高的創新,經過將近兩年的發展,已經構造了新的小程序開發環境和開發者生態。 Symbol TypeES6引入了一種新的原始數據類型Symbol,表示獨一無二的值。它是JavaScript語言的第七種數據類型,前六種是:Undefined、Null、布爾值(Boolean)、字符串(String)、數值(Number)、對象(Object)。 Symbol值通過Symbol函數生成。這就是說,對象的屬性名現在可以有兩種類型,一種是原來就有的字符串,另一種就是新增的Symbol類型。凡是屬性名屬于Symbol類型,就都是獨一無二的,可以保證不會與其他屬性名產生沖突。
Iterators(迭代器) ES6迭代器不是內建的,通過使用[Symbol.iterator]()和.next()來進行創建。Iterators(迭代器)是一種接口,為各種不同的數據結構提供統一的訪問機制。任何數據結構只要部署Iterator接口,就可以完成遍歷操作(即依次處理該數據結構的所有成員)。 Iterator的作用: 為各種數據結構,提供一個統一的、簡便的訪問接口; 使得數據結構的成員能夠按某種次序排列; ES6創造了一種新的遍歷命令for...of循環,Iterator接口主要供for...of消費。
Set、Map數據結構 ES6提供了新的數據結構Set。它類似于數組,但是成員的值都是唯一的,沒有重復的值。 Set本身是一個構造函數,用來生成Set數據結構。
ES6提供了Map數據結構。它類似于對象,也是鍵值對的集合,但是“鍵”的范圍不限于字符串,各種類型的值(包括對象)都可以當作鍵。也就是說,Object結構提供了“字符串—值”的對應,Map結構提供了“值—值”的對應,是一種更完善的Hash結構實現。如果你需要“鍵值對”的數據結構,Map比Object更合適。
WeakSet結構與Set類似,也是不重復的值的集合。但WeakSet只能存對象類型的元素,比如:Object, Array, Function 等。WeakSet中的對象都是弱引用,即垃圾回收機制不考慮WeakSet對該對象的引用,如果其他對象都不再引用該對象,那么垃圾回收機制會自動回收該對象所占用的內存,不考慮該對象還存在于WeakSet之中。有了弱引用的WeakSet, 就不用擔心內存泄漏了。 WeakSet對象的方法只有三個,WeakMap沒有size屬性: add(): 向集添加新元素。 delete(): 從集中移除指定元素。 has(): 如果集包含指定的元素,則返回 true。
WeakMap結構與Map結構基本類似,也是是鍵值對的集合。但WeakMap只接受對象作為鍵名(null除外),不接受其他類型的值作為鍵名,而且鍵名所指向的對象,不計入垃圾回收機制。 WeakMap對象的方法,WeakMap沒有size屬性,WeakMap對象不能枚舉: clear():從 WeakMap 中移除所有元素。 delete(): 從 WeakMap 中移除指定的元素。 get(): 從 WeakMap 中返回指定的元素。 has(): 如果 WeakMap 包含指定元素,則返回 true。 set(): 添加新元素至 WeakMap。 toString():返回 WeakMap 的字符串表示形式。 valueOf():返回指定對象的原始值。
Typed Arrays(類型化數組) 類型化數組(ArrayBuffer對象、TypedArray視圖和DataView視圖)是JavaScript操作二進制數據的一個接口。這些對象早就存在,屬于獨立的規格(2011年2月發布),ES6將它們納入了ECMAScript規格,并且增加了新的方法。 類型化數組支持任意基于字節的數據結構,更方便的實現網絡協議、加密算法、文件格式操作等功能。 ArrayBuffer是一段不透明的內存區域(所謂不透明,就是無法直接操作的數據塊),單位是字節(Byte)也就是8位,它的byteLength屬性返回其內存大小。 在ArrayBuffer上,可以使用不同的視圖來創建任意數量的類型化數組, 這些類型化數組也可以是重疊的。有八種不同的類型化數組(視圖),分別為:
Int8Array: 1個字節,8位二進制帶符號整數 -2^7~(2^7) - 1 Uint8Array: 1個字節,8位無符號整數 0~(2^8) - 1 Int16Array: 2個字節,16位二進制帶符號整數 -2^15~(2^15)-1 Uint16Array: 2個字節,16位無符號整數 0~(2^16) - 1 Int32Array: 4個字節,32位二進制帶符號整數 -2^31~(2^31)-1 Uint32Array: 4個字節,32位無符號整數 0~(2^32) - 1 Float32Array: 4個字節,32位IEEE浮點數 Float64Array: 8個字節,64位IEEE浮點數
如果一段數據包括多種類型,這時除了建立ArrayBuffer對象的復合視圖以外,還可以通過DataView視圖進行操作。 DataView視圖提供更多操作選項,而且支持設定字節序。 DataView本身也是構造函數,接受一個ArrayBuffer對象作為參數,生成視圖。
以上就是ES6新特性開發微信小程序(4)的詳細內容,更多請關注php中文網其它相關文章! 小程序是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應用。 |
溫馨提示:喜歡本站的話,請收藏一下本站!