ES6学习笔记(三)—— Set 和 Map】的更多相关文章

为什么要把这个内容拿出来单独做一篇学习笔记? 生成器函数比较重要,相对不是很容易理解,单独做一篇笔记详细聊一聊生成器函数. 标题为什么是生成器函数与yield? 生成器函数类似其他服务器端语音中的接口(Interface),yield则是生成器函数中表示 返回 或 继续 执行的关键字. 弄清楚这两个概念后,先看一个例子: function* fun(val) { yield 1*val; yield 2*val; yield 3*val; yield 4*val; return 5*val; }…
一:Symbol ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值.它是 JavaScript 语言的第七种数据类型,前六种是:undefined.null.布尔值(Boolean).字符串(String).数值(Number).对象(Object). 对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的 Symbol 类型.凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与其他属性名产生冲突. 1)Symbol 值通过Symbol函数生成,…
参考书<ECMAScript 6入门>http://es6.ruanyifeng.com/ Set和Map数据结构 1.Set  基本用法    Set是一种新的数据结构,它的成员都是唯一的不重复的.    let s1 = new Set();    s1.add({"name":"123"});    s1 // Set(1){{"name":"123"}} let s2 = new Set([1,2,3,4,…
1.Symbol ES5 的对象属性名都是字符串,这容易造成属性名的冲突.如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突.这就是 ES6 引入Symbol的原因. { //声明 let a1=Symbol(); let a2=Symbol(); console.log(a1===a2) //false,生成的a1跟a2都是独一无二 let a3=Symbol.for('a3'); //Symbol.for()里面有key时,先全局搜索一下,有的话就直接赋值…
看到这条条目录有没有感觉很枯燥,觉得自己的工作中还用不到它所以实在没有耐心看下去,我也是最近得闲,逼自己静下心来去学习去总结,只有在别人浮躁的时候你能静下心来去学去看去总结,你才能进步.毕竟作为前端不断学习掌握新技术才能跟得上瞬息万变的潮流. 南方地区进入了梅雨季,最近一段时间天气不太好不是下雨就是阴天,湿气比较重.话说还真有点不习惯 别跑题了O(∩_∩)O哈哈~,开始搬砖^O^ JS中的数据类型有:字符串.数字.布尔.数组.对象.Null.Undefined 本篇是:数值的扩展 数值是js数据…
1 基本用法 Map类型是键值对的有序列表,而键和值都可以是任意类型.可以看做Python中的字典(Dictionary)类型. 1.1 创建方法 Map本身是一个构造函数,用来生成Map实例,如: let m1 = new Map() 1.2 初始化 Map构造函数可以接收一个数组作为参数,该数组的成员可以是一组表示键值对的数组.也可以是任何具有 Iterator 接口.且每个成员都是一个双元素的数组的数据结构.如: let map = new Map([ ['name', 'zhang'],…
proxy用法 // 代理 { let obj={ time:'2017-03-11', name:'net', _r: }; let monitor=new Proxy(obj,{ // 拦截对象属性的读取 get(target,key){ ') //将目标对象中的2017都换成2018 }, // 拦截对象设置属性 set(target,key,value){ if(key==='name'){ return target[key]=value; //当key值为name时会被修改value…
import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小工程,再用一种简单的方法把这些小工程连接在一起. 这有可能导致两个问题: 一方面js代码变得很臃肿,难以维护 另一方面我们常常得很注意每个script标签在html中的位置,因为它们通常有依赖关系,顺序错了可能就会出bug 在es6之前为解决上面提到的问题,我们得利用第三方提供的一些方案,主要有两种…
default 参数默认值 在实际开发 有时需要给一些参数默认值. 在ES6之前一般都这么处理参数默认值 function add(val_1,val_2){ val_1 = val_1 || 10; val_2 = val_2 || 20; return console.log(val_1 + val_2); } add(); 而现在可以这么做 function add_1(val_1 = 5,val_2 = 10){ return console.log(val_1 + val_2); }…
接着上一篇的说. arrow functions 箭头函数 => 更便捷的函数声明 document.getElementById("click_1").onclick = function(){ console.log("say Hi!"); } document.getElementById("click_2").onclick = () => { let a = 1; let b = 2; console.log(a + b);…