ES6中新增了三种数据类型,Symbol
,Set
,Map
。其中Symbol为基本数据类型,可以直接使用typeof
检测数据类型。Set和Map是类似于Array的引用类型。
Symbol
每一个symbol的值都是独一无二的。
1 | var s1 = Symbol('foo'); |
Symbol可以用作对象属性,并且属性不会重复。设置属性时,必须把属性置于方括号中。使用Object.getOwnPropertySymbols
获取对象的Symobol属性。
1 | var s = Symbol(); |
Set
Set类似于数组,其中所有的元素都是不重复的。
可以使用Set对数组去重。
1 | var s = new Set([1,2,3,4,5,6,6,5,4,3,2,1,1]) // Set [ 1, 2, 3, 4, 5, 6 ] |
Map
Object和Map都是键值对的集合,不过Object只能使用字符串作为键值,Map可以使用各种数据类型作为键值。
1 | var map = new Map() |