es6学习笔记(三)

1、async  await

  nodejs读取文件 fs.readFile()

  es6读取文件:

async function fn(){ //async表示异步
  await readFile(url);  //await表示等待
}

  await只能放在async函数中

  async相比generator语义化更强

  await后可以是一个promise对象,可以是number/boolean/string等数值

  async函数返回的是一个Promise对象

  只要await语句后跟的promise状态编程reject,整个async函数都会中断,解决方法如下

async function fn(){
    try{
        await readFile();
    }catch{

    }
}

2、Set

  Set是一种数据解构,类似于数组,只不过其元素值唯一,相当于数学上的集和。

  

//创建
let s = new Set(['a','b'])

s.add('c')  //添加
s.delete('a') //删除
s.has('b')  //查找
s.clear() //清空

s.size //返回元素个数

//可以使用for...of循环遍历
for(let item of s){//默认为s.values()

}  
for(let item of s.keys()){

}
for(let item of s.values()){

}
for(let [item,index] of s.entries()){

}
s.forEach((value,index)=>{

})

//链式调用
s.add('x').add('y');

//使用--数组去重
let s = new Set(arr)
//集和转数组
let arr = [...s]

  WeakSet:当集和元素为对象时,可以使用WeakSet结构,但WeakSet无size属性,无clear()函数

3、Map

  数据结构:类似json,但json的key只能是字符串,而Map的key可以是任何类型

//创建
let m = new Map();

m.set(key,value); //设置元素

m.get(key) //获取元素值

m.delete(key) //删除某个值

m.has(key) //查找

m.clear() //清空map

//循环
for(let[key,value] of m){}

for(let key of m.keys()){}

for(let value of m.values()){}

for(let [key,value] of m.entries()){}

m.forEach((value,key)=>{
    
})

  WeakMap:类似于Map,但是WeakMap的key只能是对象

  Set里面是array,元素不重复,无get方法,无key值

  Map是对json的增强,key可以是认一类型

4、es6对于数字的一些增强

  • 对于NaN的判断:isNaN() ------>  Number.isNaN()
  • 二进制的写法:let a = 0b100101
  • 八进制的写法:let b = 0o056745
  • 十六进制的写法:let c = #cccccc;
  • Number.isFinite(x):判断x是否为数字
  • Number.isInteger(x):判断x是否为整数
  • parseInt()  --------------  Number.parseInt()
  • parseFloat()  ------------  Number.parseFloat()
  • 安全整数:[-(2^53 - 1), 2^53 - 1]
  • Number.isSafeInterger(x):判断x是否是安全整数
  • Number.MAX_SAFE_INTEGER
  • Number.MIN_SAFE_INTERGER
  • Math.abs()  求绝对值
  • Math.sqrt() 开方
  • Math.sin()  求正弦 ....
  • Math.trunc(x):截断,只保留整数部分
  • Math.sigin(x):返回x的符号,负数---- -1,0---0,正数---+1,-0 ------- -0,非数字---NaN
  • Math.cbrt(x): 开3次根号

 

转载于:https://www.cnblogs.com/qiyangliu/p/11340265.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值