es6(四):Symbol,Set,Map】的更多相关文章

JS中Set与Map用法 一.Set 1.基本用法 ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. const s = new Set(); [2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x)); for (let i of s) { console.log(i); } // 2 3 5 4 上面代码通过add方法向 Set 结构加入成员,结果表明 Set 结构…
Set 和 Map 数据结构 Set WeakSet Map WeakMap Set § ⇧ 基本用法 ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. const s = new Set(); [2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x)); for (let i of s) { console.log(i); } // 2 3 5 4 上面代码通过add…
ES6中Symbol是为了防止属性名冲突而引入的,是独一无二的.Symbol值是通过Symbol函数生成.Symbol值不能与其他类型的值运算否则会报错且Symbol的值可以转换为字符串或者是布尔值但是不能转换为数值.如果你想比较两个Symbol是否全相等,请在value前面加上typeof. var test = Symbol('hi'); var ceshi = Symbol('hi'); var a = Symbol( typeof '1' ); var b = Symbol( typeo…
一.ES6的Set.Map数据结构 Map.Set都是ES6新的数据结构,都是新的内置构造函数,也就是说typeof的结果,多了两个: Set 是不能重复的数组 Map 是可以任何东西当做键的对象 ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. let s = new Set(); s.add(1); s.add(2); s.add(3); s.add(3); s.add(3); s.add(4); s.add(5); console.log(s) 示例…
Entry 由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系. Map中采用Entry内部类来表示一个映射项,映射项包含Key和Value (我们总说键值对键值对, 每一个键值对也就是一个Entry)Map.Entry里面包含 getKey() 和 getValue() 方法 Iterator<Map.Entry<Integer, Integer>> it=map.entrySet().iterator(); while(it.hasNext()) { Map.…
首先再讲这几个新东西之前,先说一个Es6中新出的扩展运算符(...) 1.展开运算符,就是把东西展开,可以用在array和object上 比如: let a=[,] let b=[,...a,]//[0,1,2,3] 第二个是剩余操作符,是解构的一种,把剩余的东西放到一个array里面赋值给他,一般只针对array的解构 let a=[,,] let [b,...c]=a;//b:1,c:[2,4] let a=[,,] let [b,...[c,d,e]]=a;//b:1,c:2,d:3,e:…
想学vue了  重启ES6的学习之路 在ES5 中正则的构造器  RegExp  不支持第二个参数 ES6 做了调整   第二个参数表示正则表达式的修饰符(flag) var regex = new RegExp('xyz', 'i'); 对字符串调整 字符串可以使用以下四种正则方法: match() .replace() . search() . split() 其实没事么神奇的就是样其实 就是让其调用 RegExp 的实例方法 String.prototype.match 调用 RegExp…
Set是无重复值的有序列表.Set会自动移除重复的值,因此你可以使用它来过滤数组中重复的值并返回结果. Map是有序的键值对,其中的键允许是任何类型. Set和Map是es6新增的两个数据集合. Set集合 es6新增了set类型,这是一种无重复值的有序列表.Set允许对它包含的数据进行快速访问. 创建Set并添加项目 Set通过new Set()来创建,调用add()方法就可以向Set中添加项目.检查size属性还能查看其中包含多少项. let set = new Set(); set.add…
1.字符的表示方式 最早在  \u0000-\uFFFF 之间的字符已经足够使用吗,每个字符占两个字节,超出范围,必须使用双字节形式表达, 即每个字符占四个字节.超出范围的字符,会被解读成  \uXXXX+last. ES6中,将码点放入 大括号中,既可以正确解读该字符. "hell\u{6F}" '\z' '\172' '\x7A' '\u007A' '\u{7A}' 2.  一般来说,字符以 UTF-16 格式存储,每个字符固定为2字节.  超过 0XFFFF范围的字符,将会出现异…
ES6提供了新的数据结构Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化. var set = new Set([1, 2, 3, 4, 4]); [...set]console.log(set) // [1, 2, 3, 4] var s = new Set(); [2, 3, 5, 4, 5, 2, 2].map(x => s.add(x)); console.log(s) // 2 3 5 4 在Set内部,两…