[ES7-8]新特性:

1.ES7新特性:

1.1 Array.prototype.includes

includes 方法用来检测数组中是否包含某个元素,返回布尔类型值。

	const mingzhu = ['西游记','红楼梦','三国演义','水浒传'];
	console.log(mingzhu.includes('西游记'));//-->true
	console.log(2**10);//-->1024

1.2 指数操作符:

在ES7中引入指数运算符(**),用来实现幂运算,功能与Math.pow结果相同。

2.ES8新特性:

2.1 async 和 await

async 和 await 两种语法结合可以让异步代码像同步代码一样。

2.1.1 async函数

1.async 函数的返回值为promise对象。
2.promise 对象的结构由 async 函数执行的返回值决定。

1.返回的结果不是一个Promise类型的对象, 则async修饰的这个函数的返回结果就是一个promise对象,且对象的状态是成功的,成功的值是return出的值。 2.抛出错误,返回的结果是一个失败的Promise对象。throw new Error(‘出错了’); 3.return如果是一个promise对象。那么返回的结果就是promise且promise的状态和值与return中的promise相同。

    <script>
        // async 函数
        async function fn(){
            // 1.返回的结果不是一个Promise类型的对象,
            // 则async修饰的这个函数的返回结果就是一个promise对象,且对象的状态是成功的,成功的值是return出的值。
            // return;
            // 2.抛出错误,返回的结果是一个失败的Promise对象
            // throw new Error('出错了');
            // 3.return如果是一个promise对象。那么返回的结果就是promise且promise的状态和值与return中的promise相同。
            return new Promise((resolve,reject)=>{
                resolve("成功的数据");
            });
        }
        const result = fn();
        console.log(result);

        // 既然fn()返回的是promise对象,那么它就可以调用then方法
        result.then(value => {
            // 鉴于上面的promise是成功的,走这里
            console.log(value);
        },reason => {
            console.warn(reason);
        })
    </script>

2.1.2 await 表达式

1.await 必须写在async函数中,但对于async函数而言await不是必须的。
2.await右侧的表达式一般为promise对象。
3.await返回的是promise成功的值。
4.await的promise失败了,就会抛出异常,需要通过try…catch捕获处理。

    <script>
        // 创建promise对象
        const p = new Promise((resolve,reject)=>{
            // resolve("成功的值!");
            reject("失败失败!")
        })
        // await 要放在async函数中。
        async function main(){
            try{
                // 这里的result返回的是promise对象成功的值,如果失败,需要另外捕获。
                let result=await p;
                console.log(result);//-->成功的值!
            }catch(e){
                console.log(e);//-->失败失败!
            }
        }
        // 调用函数
        main();
    </script>

2.2 Object.values 和 Object.entries

1.Object.values()方法返回一个给定对象的所有可枚举属性值的数组。
2.Object.entries()方法返回一个给定对象自身可遍历属性[key,value]的数组。
3.Object.getOwnPropertyDescriptors()方法,返回对象属性的描述对象。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值