ES6
XUPT-前端在逃工程师
逃
展开
-
ES6中的模块化规范
模块化相关规范1.AMDRequire.js()2.CMDSea.js()3.CommonJS模块分为单文件模块与包模块成员导出:module.exports和exports模块成员导入:require(‘模块标识符’)*4.ES6模块化在ES6模块化规范诞生之前,Javascript社区已经尝试并提出了AMD,CMD,CommonJS等模块化规范但是这些社区提出的模块化标准,还是存在一定的差异性与局限性,并不是浏览器与服务器通用的模块化标准AMD和CMD适用于浏览器端的J原创 2021-03-19 21:51:37 · 400 阅读 · 0 评论 -
ES6中的class
class类ES5造类function Person(name, age) { this.name = name this.age = age } Person.prototype.sayName = function () { return this.name } let p1 = new Person('张三', 28) console.log(p1); console.log(p1.sayName());ES6原创 2021-03-19 22:03:38 · 82 阅读 · 0 评论 -
ES6中的async
async使得异步操作更加方便,基本操作async他会返回一个Promise对象基本操作async他会返回一个Promise对象 then catchasync特点:1.函数前添加async 2.函数内部await等待async 函数返回的是promise对象用then接收async是Generator的一个语法糖async function f() { // return await 'hello async' let s = await 'hello async'原创 2021-03-22 09:38:38 · 134 阅读 · 0 评论 -
ES6中的Promise
promisepromise深入理解then 方法返回的是一个新的Promise实例(注意,不是原来那个Promise实例)。因此可以采用链式写法,即then方法后面再调用另一个then方法。相当于一个容器,保存着未来才会结束的事件(异步操作)的一个结果各种异步操作都可以用同样的方法进行处理axios特点:1.对象的状态不受外界影响,处理异步操作三个状态(Pending进行 Resolved成功 Rejected失败)2.一旦状态改变,就不会再变,任何时候都可以得到这个结果使用Promis原创 2021-03-22 09:38:00 · 126 阅读 · 0 评论 -
ES6中的Generator生成器
在介绍ES6中异步编程时先了解迭代器Iterator是一种新的遍历机制两个核心:1.迭代器是一个接口,能快捷访问数据,通过Symbol.iterator来创建迭代器通过next()获取迭代后的结果2.迭代器是用于遍历数据结构的指针(数据库的游标)const items = ['one', 'two', 'three']//1.创建新的迭代器const ite = items[Symbol.iterator]()console.log(ite.next());//{value:'one',d原创 2021-03-19 16:39:46 · 172 阅读 · 0 评论 -
ES6中的迭代器
迭代器Iterator是一种新的遍历机制两个核心:1.迭代器是一个接口,能快捷访问数据,通过Symbol.iterator来创建迭代器通过next()获取迭代后的结果2.迭代器是用于遍历数据结构的指针(数据库的游标)//Symbol.iterator部署遍历器const items = ['one', 'two', 'three']//1.创建新的迭代器const ite = items[Symbol.iterator]()console.log(ite.next());//{value原创 2021-03-22 09:46:03 · 138 阅读 · 0 评论 -
ES6中的Set和Map
set1.表示无重复值的有序列表//数组去重let a = [1,2,3,4,1,2,3,4]let set = new Set(a)console.log(set)//Set{1,2,3,4}let arr = [...set]//通过扩展运算符把set变为数组console.log(arr)//[1,2,3,4]2.set常用API方法作用add添加delete删除has检测size大小3.WeakSetset中对对象的引原创 2021-03-19 16:26:32 · 84 阅读 · 0 评论 -
ES6中的新的数据类型Symbol
Symbol基本数据类型有7种:Undefined、Null、Boolean、String、Number、Object、Symbol(ES6新增)原始数据类型Symbol,他表示是独一无二的值最大的用途:用来定义对象的私有变量1.Symbol函数前不能使用new命令,否则会报错,生成的Symbol是一个原始类型的值,不是对象const name = Symbol('name')const name2 = Symbol('name')console.log(name === name2);/.原创 2021-03-19 16:28:54 · 164 阅读 · 0 评论 -
ES6中扩展的对象功能
ES6中扩展的对象功能1.ES6中对象简写//对象属性和方法可以简写let a = 10let b = 20let obj = { a, b, say() { console.log(this.a); }}console.log(obj);obj.say()2.setter,getter访问器如果get访问器return的名字和get方法名一样会不停执行let Obj = { name: '张三', get _name() { console原创 2021-03-22 09:40:33 · 151 阅读 · 0 评论 -
ES6中的函数
ES6中的函数1.带参数默认值的函数//ES5中function add(a,b){ a=a||10, b=b||20 return a+b}add()//ES6中function add(a=10,b=20){ return a+b}add()//输出302.默认的表达式也可以是一个函数function add(a,b=getVal(5)){ return a+b}function getVal(val){ return val+5原创 2021-03-19 16:23:46 · 193 阅读 · 0 评论 -
ES6中的模板字符串
模板字符串ES5字符串拼接var title = 'ES5标题'var info = '这里是ES5字符串拼接'var str = '<h1>' + title + '</h1><div>' + info + '</div>'document.body.innerHTML = strES6模板字符串var title = 'ES6标题'var info = '这里是ES6模板字符串'var str = `<h1>${title原创 2021-03-19 16:27:45 · 142 阅读 · 0 评论 -
ES6中的解构赋值
解构赋值是对赋值运算符的一种扩展,他针对数组和对象进行操作,代码书写上简洁易读对Array的解构//直接一连串赋值let a=1,b=2,c=3let [a,b,c]=[1,2,3]//跳过空赋值var [a,,c]=[1,2,3]console.log(a, c);console.log(b);//a,c为1,3 b不存在…是扩展运算符(只能用在后面)//...连续赋值var [a,...c] = [1,2,3]console.log(a, c);//a=1,c=原创 2021-03-19 16:26:01 · 96 阅读 · 0 评论 -
ES6中的声明
varletconst1.var声明变量提前2.var全局作用域3.var可以重复声明变量1.let没有变量声明提前2.let代码块内有效3.let不能重复声明1.不能只定义不,不赋值2.定义赋值之后,不能修改值3.定义对象后,可以修改对象内部属性值(保证内存地址不变)ES5中我们最常用的就是var来声明变量1.var//1.var存在声明提前//var aconsole.log(a);//a=1var a = 1//输出undefined//2.var存在...原创 2021-03-19 16:22:37 · 102 阅读 · 0 评论