ES6
文章平均质量分 82
致可乐
成为勇敢的狗勾
展开
-
ES6——Class 类的继承 extends
文章目录1.举例2.Object.getPrototypeOf() 获取子类的父类3.super关键字4.类的 prototype 和__proto__属性1.举例Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多子类必须在constructor方法中调用super方法,否则新建实例时会报错ES5 的继承,实质是先创造子类的实例对象this,然后再将父类的方法添加到this上面(Parent.apply(this))ES6 的继承原创 2021-10-05 21:37:51 · 798 阅读 · 0 评论 -
ES6——Class 类
文章目录一、写法对比1.传统写法:2.Class写法类型监测不可枚举性constructor 方法二、存在getter和setter三、class类里面的属性可以修改为表达式(字面量解析)四、可简写五、注意点1.严格模式2.不存在提升3.也有name 属性4.this指向(类的实例)5.静态方法6.私有方法和私有属性(未实现)js中,生成实例对象的传统方法是通过构造函数,new产生一个对象一、写法对比1.传统写法: function Point(x,y){ this.x=x;原创 2021-10-05 18:37:43 · 519 阅读 · 0 评论 -
ES6——async函数 .
文章目录一、概念二、对比 Promise联用Generator && Promise联用async1.Promise联用Generator2.Promise联用async3.async处理多个Promise(等待间无关)4.async处理多个Promise(等待间有关)三、Promise 对象的状态变化四、await 命令五、错误处理六、async 函数注意点1.把await命令放在try...catch代码块中2.同时触发多个await (Promise.all)3.await命令只能用在原创 2021-10-05 15:59:36 · 446 阅读 · 0 评论 -
ES6——Promise函数
文章目录一、三个状态二、基本用法1.举例2.使用原生Ajax3.图片异步加载(懒加载)三、then()四、Promise.all()五、Promise.race()六、Promise.resolve()七、Promise.reject()八、Generator 函数与 Promise 的结合异步编程解决方案一、三个状态1.promise内部状态 不受外界影响,由异步编程结果决定pending进行中fulfilled成功rejected失败2.promise中的状态 一旦发生变化不会再修改原创 2021-10-05 10:00:33 · 416 阅读 · 0 评论 -
ES6——Generator函数
var x=1; function foo(x){ var x=3; let y= function () {x=2}; y(); console.log(x); } foo(); //2原创 2021-10-04 11:07:57 · 151 阅读 · 0 评论 -
ES6——函数扩展 作用域
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。对空数组是不会执行回调函数的。1.计算数组总和var num = [1,2,3,4,5];var res = num.reduce(function(total,num){ return total+num; //return total + Math.round(num);//对数组元素四舍五入并计算总和},0);console.log(res); //15//num.reduc原创 2021-10-03 23:06:44 · 137 阅读 · 0 评论 -
ES6——箭头函数
文章目录一、格式二、特点1.上下文this指针一致(没有自己的this)2.不可以当做构造函数3.不存在arguments对象4.不可以使用yield命令,因此不能用作Generator函数5.对象中的函数 不能使用箭头函数一、格式1.只有一个参数 function f(a){} //只有一个参数 括号可省略 let f=a=>{};2.无参或多个参数 let fun= function () { return '123'; }原创 2021-10-03 23:05:35 · 99 阅读 · 0 评论 -
ES6——数组扩展 ... Array.from() Array.of() flat() reduce()
文章目录1.扩展运算符...2.Array.from()类数组3.Array.of()4.find() 和 findIndex()5.fill() 填充数组6.数组实例的 entries(),keys() 和 values()7.includes()8.flat(),flatMap()1.扩展运算符…ES6——扩展运算符…2.Array.from()将两类对象转为真正的数组:类数组(querrySelectAll)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)原创 2021-09-27 21:00:13 · 774 阅读 · 1 评论 -
ES6——对象扩展
文章目录1.属性的简洁表示法2.属性名表达式3.方法的 name 属性getter setter访问器4.属性的可枚举性和遍历(1)可枚举 enumerable(2)遍历对象的属性5.super 关键字1.属性的简洁表示法(1)属性和方法/*允许在对象内部直接使用变量【即属性和属性值变量一致,可以简写】*/ let name='张三'; let stu={ name, //等同于 //name:name sleep(){}原创 2021-09-21 15:14:51 · 284 阅读 · 0 评论 -
ES6——遍历器Iterator && for of循环
文章目录原创 2021-09-21 10:18:52 · 587 阅读 · 0 评论 -
ES6——字符串扩展 新增方法
文章目录一、字符串的新增方法1.includes() 是否找到参数字符串2.监测子串是否在字符串的头部或尾部3.repeat() 将字符串重复n次4.补全字符串 padStart padEnd5.模板字符串 ``(1)普通字符串(2)多行字符串(3)字符串可以插入变量和表达式(4)字符串中可以调用函数ES6 之前判断字符串是否包含子串,用 indexOf 方法,ES6 新增了子串的识别方法一、字符串的新增方法1.includes() 是否找到参数字符串 let str='abc';原创 2021-09-21 00:02:43 · 364 阅读 · 0 评论 -
ES6——Set
文章目录一、add() 添加数据二、类型转换1.数组array转换为Set集合2.Set转数组3.String 转 Set4.Set 转 String【注意】不能使用toString三、Set 对象作用1.数组去重2.并集 数组合并3.add添加 size返回长度4.has 监测值是否存在5.delete 删除某个值6.clear 清除所有成员四、Set 遍历方法1.keys() 返回键名的遍历器2.values()3.entries()4.forEach()5.for...ofweakSet weakM原创 2021-09-15 00:05:47 · 672 阅读 · 0 评论 -
ES6——map
文章目录map集合一、 get set注意对象是引用类型值NaN二、for...of循环遍历遍历方法(1)keys()(2)values()(3)entries()(4)forEach(5)has(6)delete(7)delete三、map对象的操作1.map与array的转换2.克隆map3.合并mapmap集合以键值对方法存储值Object和Map存储的都是键值对组合区别:(1) object的键的类型是 字符串 或者 Symbols;map的键的类型是 可以是任意类型(要注意是否是引用原创 2021-09-13 23:57:06 · 540 阅读 · 0 评论 -
ES6——let const Symbol 解构赋值
文章目录一.let const(一)let(二)const二、解构赋值1.数组解构赋值2.对象解构赋值一.let const(一)let1.声明的变量只能在当前作用域的内部有效(作用域其实就是{})var 全局范围内有效(因为var声明的变量在Windows的整个对象上)例子:因为let出了当前作用域会无效,for循环每走一次,就相当于一个代码作用域。下一次循环就又是另一个代码作用域了。变量 i 是用 var 声明的,在全局范围内有效,所以全局中只有一个变量 i, 每次循环时,setT原创 2021-09-13 22:52:58 · 505 阅读 · 0 评论 -
ES6——扩展运算符...
文章目录一、替代函数的 apply 方法1.将数组转为函数的参数2.求出数组最大/小元素3.将一个数组添加到另一个数组的尾部二、扩展运算符的应用1.复制数组2.合并数组3.与解构赋值结合4.实现了 Iterator 接口的对象扩展运算符(…)将一个数组转为用逗号分隔的参数序列 (好比 rest 参数的逆运算)console.log(...[1, 2, 3])// 1 2 3一、替代函数的 apply 方法1.将数组转为函数的参数// ES5 的写法function f(x, y, z) {原创 2021-09-11 00:56:18 · 409 阅读 · 0 评论 -
ES6——变量解构赋值
这里写目录标题1.什么是解构赋值2.数组解构赋值3.对象解构赋值4.应用例题1.什么是解构赋值ES6允许按照一定得到模式,从数组和对象中提取值,对变量进行赋值ES6允许这样写:var [a,b,c] = [0,3,2];实质为“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予相对应的值2.数组解构赋值等号左右两边的结构不相同,那么将会报错 let [foo] = 1; let [foo] = false; let [foo] = NaN; let [foo] = undefi原创 2021-03-19 14:24:27 · 314 阅读 · 0 评论