ES6
@红@旗下的小兵
求知若渴 虚心若愚
展开
-
async await
async:async相当于Promise的语法糖,函数前边加上async,函数里边return返回一个值(实际上返回的是一个promise对象),相当于下边写法,里边如果抛出异常,相当于promise的rejected状态:async function test() { return 1}const res1 = test()console.log(res1)// 相当...原创 2020-02-03 17:19:41 · 208 阅读 · 0 评论 -
手写promise
最近在项目中promise的应用场景还是很多的,于是乎决定研究下promise源码,当然不是最底层的源码!下边用ES6类来实现下promise对象:1、先来看下es6给提供的Promise刚开始(图一)的状态一定是pedding(等待),值为undefined;1秒之后,异步队列中的函数resolve( '成功' )开始执行,所以我们会看到状态是resoved(执行完毕,已决状态)...原创 2020-02-02 21:33:43 · 190 阅读 · 0 评论 -
ES6 新增数据类型 Symbol
Symbol是ES6新增的数据类型,通常叫 符号创建:Symbol(符号名)设计初衷:为对象设置私有属性(只能在对象内部使用,外边无法使用)特点:1、没有字面量:别的数据类型,比如数组字面量 : [ ]、对象字面量:{ } 等等,但是Symbol符号没有字面量!2、使用typeof 得到的就是symbol类型const name = Symbol('name...原创 2020-02-02 16:00:52 · 268 阅读 · 0 评论 -
ES6 class类
ES6中的类js中生成实例对象的传统方法是通过构造函数。而ES6提供了更接近传统语言的写法,引入了class类这个概念,作为对象的模板,通过class类关键字,可以定义类。ES6的class可以看做一个语法糖而已,它的绝大部分功能,ES5都可以做到,只不过写法让对象原型的写法更加清晰。更像面向对象的语法而已:ES5与ES6对比:对比两者的写法:还是ES6看起来更加清晰、明了,里边有...原创 2020-02-02 14:43:06 · 382 阅读 · 0 评论 -
es6数据结构Map
Map与Set一样,也是ES6中新引入的数据结构,来切入正题。。。我会从这几个方面来聊下Map数据结构:1、传统对象(Object)缺点2、Map数据结构基本用法3、Map结构的实例属性和操作方法4、Map结构的遍历方法5、Map与数组、对象、JSON互相转换1、传统对象( Object )缺点:传统的JavaScript的对象(Object),本质上是键值对...原创 2019-07-26 17:35:20 · 240 阅读 · 0 评论 -
ES6数据结构Set
ES6中引入新的数据结构Set非常强大,直接切入正题!我们从三个方便来聊下Set: Set基本用法 Set的属性 Set方法————————————————————————————————————————————————————————1、Set基本用法:Set数据结构类似于数组,但是里边的成员都是唯一的(也就是说如果用set存储数据,你不用担心数据是否有重...原创 2019-07-26 09:02:16 · 195 阅读 · 0 评论 -
ES6解构赋值及扩展运算符
今天我们来聊下ES6中的解构赋值和扩展运算符,它们在原生js开发、vue开发、小程序开发等等应用非常广泛!目前浏览器已经部分支持ES6的语法特性,当然用于线上的时候还是需要工具转换成es5,但是可以预见未来浏览器肯定是全面支持es6,(现在高版本浏览器已经支持es6语法)——————IE:都看我干嘛!!!直接进入正题**************************************...原创 2019-07-25 16:26:45 · 847 阅读 · 0 评论 -
ES6—super关键字
super关键字:我们知道this关键字总是指向函数所在的当前对象,ES6又新增了另一个类似的关键字super,super关键字既可以当对象来用,也可以当函数使用。。。第一种情况:super作为函数来使用,代表父类的构造函数。ES6要求,子类的构造函数必须先先先(重要的事情写三遍)执行一次super函数。class Father{ constructor(){ ...原创 2019-07-04 20:50:29 · 516 阅读 · 0 评论 -
js promise对象
promise对象是javaScript的异步操作解决方案,,为异步操作提供统一的接口。它起到代理的作用(proxy),充当异步操作与回调函数之间的中介,使得异步操作具备同步操作的接口。Promise可以让异步操作写起来,就像在写同步操作的流程,而不必一层层的嵌套回调函数。Promise的设计思想是,所有异步任务都返回一个Promise实例,Promise实例有一个then方法,用来指定下一步...原创 2019-07-09 17:29:59 · 435 阅读 · 0 评论 -
ES6 对象新增方法
先回顾下ES5中常用对象方法:Object的静态方法,所为静态方法是指部署在Object对象自身的方法。Object . keys 参数是对象,返回一个数组;该数组的成员是该对象自身的(而不是继承的)所有属性名。(可枚举的属性)eg:var obj = {name:"lxc",age:25}Object.keys(obj)//["name","age"]Ob...原创 2019-06-24 12:46:51 · 764 阅读 · 0 评论 -
ES6 字符串新增方法
字符串:字符串是JavaScript六大原始数据类型之一,其它几个分别是:Boolean、Null、Undefined、Number、Symbol(es6新增方法)。我们经常使用的操作无非是:读取字符串、转换字符串、清空字符串、拼接字符串、截取字符串。字符串的子串识别方法: indexOf()(ES5方法):判断字符串a是否在包含在字符串b里,如果包含返回的是字符串a在字符...原创 2019-06-18 08:59:34 · 334 阅读 · 0 评论 -
ES6函数
ES6中我们来看下函数有哪一些改变:一、函数的默认值:在ES5中设置默认值是在函数体内:如果没传递参数function test(num,callback){ var num = num || 10;//不传递参数默认是10 var callback = callback || function (param){console.log(param*10)};...原创 2019-06-19 12:40:56 · 1264 阅读 · 0 评论