es6
很小白的小白
励志成为前端架构师。
展开
-
es6展开运算符 ...
展开运算符 在ES6中用...来表示展开运算符,它可以将数组方法或者对象进行展开。先来看一个例子它是如何使用的。 const arr1 = [1, 2, 3]; const arr2 = [...arr1, 10, 20, 30]; 这样,arr2 就变成了[1, 2, 3, 10, 20, 30]; arr1中的值完全克隆到了arr2中(arr1改变arr2中还是最初的值)。当然,展...转载 2018-08-31 20:57:08 · 2362 阅读 · 0 评论 -
ES6 Map Set
数据结构:栈(括号操作,先进后出)队列(先进先出) 数组也是一种数据结构,(有序的地址存储) 对象的结构(key:value) 数组去重:arr =[1,'1',1,{}];(怎么实现去重,普通的去重方法不在适用) es6新的数据结构:Map 和 Set Map 是字典 加强的对象 ,若干键值对的集合 map的便利性(字符串1就是字符串 没有类型转换) map.set('1','by...原创 2018-10-21 23:48:51 · 149 阅读 · 0 评论 -
es6之为什么要用Promise (承诺) 有更新,更加简单明了
为什么要用Promise (承诺) 多层回调代码降维 ,异步编程 来看一下以下代码:ajax的多次请求(形成V型代码结构),产生了回调地狱, 不论是浏览器中最为常见的ajax、事件监听,还是node中文件读取、网络编程、数据库等操作,都离不开异步编程。在异步编程中,许多操作都会放在回调函数(callback)中。同步与异步的混杂、过多的回调嵌套都会使得代码变得难以理解与维护,这也是常受人诟病...原创 2018-09-25 14:03:03 · 614 阅读 · 0 评论 -
es6之class
class:类 类别的意思 js为什么引入类 类:加强之后的构造函数 以前版本的构造函数 1,不看函数体不知道是不是构造函数 2,构造函数能当普通函数执行,并且产生全局变量 为什么用原型:降低代码耦合性,链式调用,节省空间,增加代码复用 什么是静态属性和方法 :定义在原型上的(不是原型链上)的属性和方法,class 通过static声明静态方法 class 构造函数 cons...转载 2018-09-09 10:55:49 · 106 阅读 · 0 评论 -
es6模板字符串和解析结构
模板字符串 模板字符串是为了解决使用+号拼接字符串的不便利而出现的。它的功能非常强大,但是我们大多数时候使用它则非常简单。看一个例子大家就明白怎么使用了。 // es6 const a = 20; const b = 30; const string = `${a}+${b}=${a+b}`; // es5 var a = 20; var b = 30; var string = a + ...转载 2018-09-02 12:55:31 · 1932 阅读 · 0 评论 -
es6函数默认参数与手动设置默认参数的区别
函数默认参数 之前我们不能直接为函数指定默认参数,因此很多时候为了保证传入的参数具备一个默认值,我们常常使用如下的方法: function add(x, y) { var x = x || 20; var y = y || 30; return x + y; } console.log(add()); // 50 这种方式并不是没有缺点,比如当我传入一个x值为f...转载 2018-09-02 12:52:46 · 2674 阅读 · 0 评论 -
es6迭代器
迭代器: 迭代器(iterator)有时又称游标(cursor)是程序设计的软件设计模式,可在容器(container,例如链表或阵列)上遍访的接口,设计人员无需关心容器的内容。(可以粗糙理解为遍历器) 原理: 数组中 迭代器的this(指针), 每次指向下一个索引 Map Set 会把临接链表 转化成一个单项链表 指针每次指向一个节点。指针下移 有默认的iterator接口:(都可以迭...转载 2018-09-02 02:44:29 · 353 阅读 · 0 评论 -
es6块级作用域let和const
let:功能类似var ,但是比var更加完善, {} 作用域块 TDZ 暂时性死区 后面let的值,前面访问不到,会报错。不像var 预编译声明提升,let的变量只在他自己的块能访问。 const 常量声明 和let相似 不同点:声明一次不可再次赋值,为只读模式。 对于复合类型的变量,变量名不指向数据,而是指向数据所在的地址。const命令只是保证变量名指向的地址不变,并不保证该地址的数...转载 2018-08-29 14:22:19 · 145 阅读 · 0 评论 -
ES6扩展字符串和数组
新的方法出现时为了使功能更加完善和性能更加给力。 字符串原型上常用方法和新增方法: charAt()方法 可返回指定位置的字符(包括空格) String.prototype.charAt() let str = 'asasa'; console.log(str.charAt(3)) //返回结果为s charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回...翻译 2018-08-29 13:07:27 · 2137 阅读 · 0 评论 -
es6箭头函数
箭头函数的使用 es6颠覆了js的编码习惯,箭头函数的使用占了很大一部分。(推荐在Babel上对比学习) 首先是写法上的不同: // es5 var fn = function(a, b) { return a + b; } // es6 箭头函数写法,当函数直接被return时,可以省略函数体的括号 const fn = (a, b) => a + b; // es5...转载 2018-08-31 21:36:35 · 980 阅读 · 0 评论