摘要:引入的數(shù)據(jù)結(jié)構(gòu)新加入的數(shù)據(jù)類型有這些數(shù)據(jù)結(jié)構(gòu)的支持并不廣泛,在寫(xiě)這篇文章的時(shí)候。是或其他可枚舉的對(duì)象,其每個(gè)元素是的元數(shù)組。開(kāi)頭的和不對(duì)持有引用,不影響。因此,他們沒(méi)有辦法對(duì)自身的進(jìn)行直接的枚舉。目前新版的和支持。
原文:http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_data_types.html
源代碼: https://github.com/RobinQu/Programing-In-Javascript/blob/master/chapters/JavaScript_Core/ECMAScript/es6/es6_data_types.md
本文需要補(bǔ)充更多例子
本文存在批注,但該網(wǎng)站的Markdown編輯器不支持,所以無(wú)法正常展示,請(qǐng)到原文參考。
ES6引入的數(shù)據(jù)結(jié)構(gòu)ES6新加入的數(shù)據(jù)類型有:
WeakMap
WeakSet
Map
Set
Typed Objects1
Proxy2
Symbol3
Promise4
這些數(shù)據(jù)結(jié)構(gòu)的支持并不廣泛,在寫(xiě)這篇文章的時(shí)候。僅有新版本的Firefox和Node v0.11.x以上版本(開(kāi)啟--harmony參數(shù)后)支持。
Map提供傳統(tǒng)意義上的Map。支持任意對(duì)象作為key。
new Map(iterable)
iteralbe是Array或其他可枚舉的對(duì)象,其每個(gè)元素是key、value的2元數(shù)組。
重要的屬性和方法:
Map.prototype.size
Map.prototype.clear()
Map.prototype.entries()
Map.prototype.forEach(callback, thisArg)
Map.prototype.get(k)
Map.prototype.set(k,v)
Map.prototype.has(k)
Map.prototype.keys()
Map.prototype.values()
Set傳統(tǒng)意義上的Set。
Set.prototype.size
Set.prototype.add(v)
Set.prototype.clear()
Set.prototype.delete(v)
Set.prototype.entries()
Set.prototype.forEach(callback, thisArg)
Set.prototype.has(v)
Set.prototype.keys()
Set.prototype.values()
WeakMapWeak開(kāi)頭的Set和Map不對(duì)key持有引用,不影響GC。因此,他們沒(méi)有辦法對(duì)自身entries的key進(jìn)行直接的枚舉。
構(gòu)造函數(shù)和普通的Map相同:
new WeakMap(iterable)
WeakMap.prototype.clear()
WeakMap.prototype.delete(k)
WeakMap.prototype.get(k)
WeakMap.prototype.has(k)
WeakMap.prototype.set(k,v)
WeakSetnew WeakSet(iterable)
WeakSet.prototype.add(v)
WeakSet.prototype.clear()
WeakSet.prototype.delete(v)
WeakSet.prototype.has(v)
Typed Objects類似Ruby的Struct的,但是目前沒(méi)有任何引擎實(shí)現(xiàn)。
Proxy Objectsvar proxy = Proxy(target, handler);
將target的函數(shù)調(diào)用轉(zhuǎn)向到handler之上。目前除了Firefox支持,沒(méi)有其他任何Javascript引擎支持。
Symbol筆者還在理解中。目前新版的Chrome和node支持。
Prmoise原生版本的Promise API,有關(guān)Promise的內(nèi)容,會(huì)在另外一篇文章內(nèi)詳細(xì)說(shuō)明: Javascript Promise。
ProxyProxy是Javascript元編程的一道大門(mén)。Javascript在語(yǔ)言層面無(wú)法去重載操作符,但是通過(guò)Proxy API,我們可以徹底的修改一個(gè)對(duì)象的各種行為。這種強(qiáng)大的行為已經(jīng)在node --harmony和Firefox中支持了。
待補(bǔ)充。可以參考:
http://www.slideshare.net/BrendanEich/metaprog-5303821
http://soft.vub.ac.be/~tvcutsem/proxies/
http://ariya.ofilabs.com/2013/07/es6-and-proxy.html
http://wiki.ecmascript.org/doku.php?id=harmony:typed_objects??
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy??
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-symbol-constructor??
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise??
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/78136.html
摘要:精致從細(xì)節(jié)做起。標(biāo)準(zhǔn)會(huì)在每年的月發(fā)布一次,作為當(dāng)年的正式版本,便是年發(fā)布的正式版本。支持情況各大瀏覽器對(duì)的支持情況瀏覽器支持情況對(duì)的支持情況支持情況。在瀏覽器中基于實(shí)現(xiàn)的已經(jīng)成為的重要組成部分。 精致從細(xì)節(jié)做起。前端的工作也有一段時(shí)間了,大大小小的前端框架都有接觸過(guò),越是深入學(xué)習(xí)越是感覺(jué)之前的學(xué)習(xí)過(guò)于粗糙,基礎(chǔ)不夠扎實(shí),于是準(zhǔn)備近期把JavaScript的基礎(chǔ)知識(shí)點(diǎn)梳理一下,查缺補(bǔ)漏,...
摘要:前三個(gè)是為了解決變量聲明定義的問(wèn)題,而最后一個(gè)則影響最大。下文只介紹前三個(gè)特性。這是因?yàn)榈牡牟恢С謮K級(jí)作用域,變量?jī)H僅被限制到函數(shù)作用域內(nèi)。 原文: http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_syntax_features.html 源代碼: https://github.com/RobinQu/P...
摘要:前三個(gè)是為了解決變量聲明定義的問(wèn)題,而最后一個(gè)則影響最大。下文只介紹前三個(gè)特性。這是因?yàn)榈牡牟恢С謮K級(jí)作用域,變量?jī)H僅被限制到函數(shù)作用域內(nèi)。 原文: http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_syntax_features.html 源代碼: https://github.com/RobinQu/P...
摘要:前三個(gè)是為了解決變量聲明定義的問(wèn)題,而最后一個(gè)則影響最大。下文只介紹前三個(gè)特性。這是因?yàn)榈牡牟恢С謮K級(jí)作用域,變量?jī)H僅被限制到函數(shù)作用域內(nèi)。 原文: http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_syntax_features.html 源代碼: https://github.com/RobinQu/P...
摘要:特性概述比較新特性更多。之后后分篇描述目前已經(jīng)比較成熟的語(yǔ)法特性例如和。同上,但返回該元素的索引號(hào)。和對(duì)象的屬性行為一致。不將參數(shù)強(qiáng)制轉(zhuǎn)行為。判斷是否為在范圍內(nèi)的正整數(shù)。不少層面的特性可以通過(guò)進(jìn)行兼容性支持。 原文: http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_api_extension.html 源...
閱讀 1669·2021-11-17 09:33
閱讀 3531·2021-11-16 11:40
閱讀 3055·2019-08-30 11:23
閱讀 1048·2019-08-29 16:36
閱讀 2464·2019-08-29 13:23
閱讀 1738·2019-08-29 12:59
閱讀 1542·2019-08-29 12:42
閱讀 1979·2019-08-28 18:22