ES6----字符串,数值,对象,数组扩展
async函数
-
真正意义上去解决异步回调的问题,同步流程表达异步操作。本质上为Generator的语法糖
-
格式:async function foo(){
await 异步操作;
await 异步操作;
}
-
返回的是一个Promise对象
Generator函数的格式:
function* 函数名(){ }
-
async 不会有next
-
async替代了*
-
class
-
面向对象:
-
声明一个类
关键字 class 类名{ }
定义类 类名首字母最好大写
实例化类的时候 类名严格区分大小写
-
通过class定义类/实现类的继承
-
在类种通过constructor定义构造方法 魔术方法 实例化的时候 自己调用
-
通过new来创建新的实例
-
通过extends(继承)来实现类的继承
-
通过super调用父类的构造方法
-
重写从父类中继承的一般方法
-
-
类里面有成员属性和 成员方法
-
子类通过构造方法新增新的内容,必须先要super调用父类的构造方法
-
用类定义一个方法,类里面不能加上function,类会自动会把方法加载到原型中
Module模块
-
模块:一个模块就是一个js文件
-
定义了一个模块,模块里面的参数或者变量,外部是不能访问的,要进行访问
那就要暴露这个变量
-
通过export关键字暴露模块
-
格式:
-
第一种格式: var 变量 = 值 ;
export {变量名}
-
第二种格式:
-
-
-
通过import关键字引入模块
-
-
引入模块时,在script标签中的type中设置为type="module"
字符串扩展
-
includes(str) 是否找到了字符串
-
startsWith(str) 判断是否以制定字符串开头
-
endsWith(str) 判断是否以制定字符串结尾
-
repeat(count) 重复指定次数
数值扩展
-
Number.isFinite(i):判断是否是有限大的数
-
Number.isNaN(i):判断是否是NaN
-
Number.isInteger(i):判断是否是整数
-
Number.parseInt(str):将字符串转换为对应的数值
-
Math.trunc:直接去除小数部分
数组扩展
-
Array.from(v) :将伪数组对象或可遍历对象转换为真数组
var oDiv = document.querySelectorAll("div") let s1 = Array.from(oDiv) //转为了真数组 s1.forEach((item,index)=>console.log(item)) console.log(typeof oDiv)//Object
-
Array.of(v1,v2,v3):将一系列值转换成数组
let s3 = Array.of(1,2,3,4) console.log(s3)//(4) [1, 2, 3, 4]
-
find(function(value,index,arr){return true}):找出第一个满足条件范围为true的元素
var arr1 = [1, 2, 3, 4] let s = arr1.find((item, index) => item > 3)
-
findIndex(function(value,index,arr){return true}:找出第一个满足条件范围为true的元素下标
var arr1 = [1,2,3,4]
let s4 = arr1.findIndex((item,index )=>item>3)
console.log(s4)//3
对象扩展
-
Object.is(v1,v2):判断2个数据是否完全相等,值完全相等
-
Object.assing(target,source1,source2):将源对象的属性复制到目标对象上,源对象上原有的相同的值,会被覆盖
-
直接操作proto属性:let obj2 ={}
obj2.proto=obj1
-
基本类型:String,Number,Boolean,null,undefined,symbol
-
存放在栈stack内存中的简单数据段,数据大小确定,内存空间大小可以分配
-
存储的是该对象的真实数据在栈里
-
引用数据类型:object function array
-
存放在堆内存中,变量实际保存的是一个指针(地址),这个指针指向另一个位置,每个空间大小不一样,要根据情况进行特定的分配
set容器
无序的,不可重复的多个value集合
set()
set(array)定义
add()添加
size长度
delete()删除
has()是否有
clear()清空
Map容器
无序,key不可重复的多个key-value集合
Map(array)
set(key,value)添加
get(key)获取
delete(key)删除
has(key)是否有
clear()清空
sizi( ) 获取长度