【前端基础】ES6新增的标准语法

ES6标准

  • let 不能重复声明

箭头函数

let  fun =  ()=>{}

只有一个参数()省略 let t = a=>{return a2}
如果只有一条语句就可以省略{} let t = a =>a
2

参数扩展

存放多个参数

function show ( a, b ,...c){

};   
show(1,2,3,4,5)      

参数扩展三个点点,
a存1,b存2,
c存3,4,5必须是最后一个

展开数组

let  arr=[1,2,3]     
show(...arr)

设置默认参数

function show( a, ,b=5,c = 90)  {

}     

b默认传5,c=90 调用show(99)即可

数组

结构赋值 json也可以结构赋值

let   [a,b,c]=[1,2,3]   

结构必须对应,就是a=1,b=2,c=3

对象的解构赋值

let   {a,b}={a:1,b:2}   

新方法

映射 map
汇总 reduce
过滤器 filter
迭代(循环) forEach
排序 sort

字符串

let  str=`www.csdn.net`

新方法

判断内容开头 startsWith

if(str.startWith('http')){   #判断字符串开头内容是否http
}

判断内容尾部 endsWidth

if(str.endsWidth('.doc')){}

字符串连接

使用``反单引号

let  a   =   `www.#{b},#{c}.com`

消除空格包括tab或者换行符号 trimStart

str.trimStart()   #消除字符串前面的空格
str.trimEnd()   #消除后面的空格

满足正则表达式的内容 matchAll

过滤正则表达式的内容

let  string=  str.matchAll(rule)

正则表达式对象

RegExp 构造函数

数值

Number对象的方法

新方法

转换二进制 八进制的转换成为十进制 其中第二个不区分大小写

Number('0b100001')  #0b开头的是二进制    #是数字的0
Number('0o105401')  #0b开头的是二进制    #是数字的0和字母的o

检查一个数值是否为有限的(finite),即不是 Infinity。

Number.isFinite(123)   返回就是true
Number.isFinite(NaN)   返回就是false

检查一个数值是否未NaN

Number.isNaN()

转为整数

Number.parseInt()
Number.isparseInt()  #判断是否是整数

转发为双精度

Number.parseFloat() 
Number.isparseFloat()  #判断是否是数   #存在精度问题

Math对象的方法

新方法

截取整数

Math.trunc(3.5)

判断正数负数还是0

Math.sign() 

参数为正数,返回+1;
参数为负数,返回-1;
参数为 0,返回 0;
参数为-0,返回-0;
其他值,返回 NaN;

计算立方根

Math.cbrt() 

面向对象

class   #类名字 {
        constructor (name,pass){   #构造
        this.name=name;
        this.pass=pass;
    }

    #方法名  (){}
}

继承

class  #类名  extends #继承的类名 {
    constructor(a,b,c){
        super(a,b)   #给继承的类的参数
        this.c=c 
    }
}

Promise #异步交互

Promise本身是同步的立即执行函数, 当在executor中执行resolve或者reject的时候, 此时是异步操作, 会先执行then、catch等,当主栈完成后,才会去调用resolvereject中存放的方法执行,打印p的时候,是打印的返回结果,
一个Promise实例。

console.log('script start')
let promise1 = new Promise(function (resolve) {
    console.log('promise1')
    resolve()
    console.log('promise1 end')
}).then(function () {
    console.log('promise2')
})

setTimeout(function(){
    console.log('settimeout')
})

console.log('script end')

// 输出顺序: script start->promise1->promise1 end->script end->promise2->settimeout

Async/Await

await等于返回一个promise

async function async1(){
    console.log('async1 start');
    await async2();
    console.log('async1 end')
}

async function async2(){
    console.log('async2')
}

console.log('script start');
async1();
console.log('script end')
// 输出顺序:script start->async1 start->async2->script end->async1 end
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宋承佑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值