原文:http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_data_types.htmlphp
ES6新加入的数据类型有:node
这些数据结构的支持并不普遍,在写这篇文章的时候。仅有新版本的Firefox和Node v0.11.x以上版本(开启--harmony
参数后)支持。git
提供传统意义上的Map。支持任意对象做为key。es6
new Map(iterable)
github
iteralbe是Array或其余可枚举的对象,其每一个元素是key、value的2元数组。编程
重要的属性和方法:数组
传统意义上的Set
。数据结构
Weak开头的Set和Map不对key持有引用,不影响GC。所以,他们没有办法对自身entries的key进行直接的枚举。ecmascript
构造函数和普通的Map相同:
new WeakMap(iterable)
new WeakSet(iterable)
相似Ruby的Struct的,可是目前没有任何引擎实现。
var proxy = Proxy(target, handler);
将target
的函数调用转向到handler
之上。目前除了Firefox支持,没有其余任何Javascript引擎支持。
笔者还在理解中。目前新版的Chrome和node支持。
原生版本的Promise API,有关Promise的内容,会在另一篇文章内详细说明: Javascript Promise。
Proxy是Javascript元编程的一道大门。Javascript在语言层面没法去重载操做符,可是经过Proxy API,咱们能够完全的修改一个对象的各类行为。这种强大的行为已经在node --harmony
和Firefox中支持了。
待补充。能够参考:
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 ↩