ES7, ES8


前言

此文包含ES7简单的总结,其余均是ES8知识点


一、ES7

(一) includes()

(替代indexof(), 判断是否有交集,返回值true/false)
例如:

const abilityIdList = this.product.packageAbilities.map(item => item.abilityId)
this.packageAbilities = this.abilityUpList.filter(item => abilityIdList.includes(item.abilityId)).map(item => item.name)

二、ES8

(一)Object.values()

1. 意义:遍历对象对的属性值,需要通过属性名key去获取属性值
2. 例如:
–>ES8前
  let obj = { a = 1, b = 2, c = 3 };
  Object.keys(obj).forEach((key) => {
    console.log(obj[key]); // 输出1, 2, 3
  });
–>ES8后
  let obj = { a = 1, b = 2, c = 3 };
  Object.values(obj).forEach((key) => {
    console.log(obj); // 输出1, 2, 3
    // 无需使用属性名
  });

(二)Object.entries()

1. 意义:遍历对象对的属性名和属性值
2. 例如:
–>ES8前
  let obj = { a = 1, b = 2, c = 3 };
  Object.keys(obj).forEach((key) => {
    console.log(key + "," + obj[key]); // 输出a=1, b=2, c=3
  });
–>ES8后
  let obj = { a = 1, b = 2, c = 3 };
  Object.entries(obj).forEach((c[key, value]) => {
    console.log(key + ":" + value); // 输出a=1, b=2, c=3
  });

(三)字符填充函数padStart、padEnd

1. 意义:用在字符串开头或者结尾添加填充字符串

String.prototype.padStart(maxLength, [ , fillString]);
String.prototype.padEnd(maxLength, [ , fillString]);

注:

a. 第一个参数maxLength是目标长度

b. 第二参数[ , fillString]是填充字符串,默认是空格


例如:

console.log('es8'.padStart(6, 'woof')); // 输出wooes8
2. 应用场景:格式转换

例如:

  '8:00'.padStar(5, '0'); //输出08:00

(四)Object.getOwnPropertyDescriptor()

(静态方法)

1. 意义:用于获取对象的属性描述符,该属性必须是对象自己定义而不是继承自原型链,其结果可能包含configurable, enumerable, writable, get, set和value等。

(五)Tralling commas in function

1. 意义:函数参数列表结尾允许逗号

例如:

  function es8(val1, val2, val3,) {
    // Do something
  };

(六)Async/Await

1. 意义:异步请求解决方案
2. 基本规则:

a. async表示此是一个async函数,await只能用在这个函数里
b. async表示在这里等待promise返回结果,再继续执行
c. await后面跟着的应该是一个promise对象(向后台发请求的API)
例如:

  // 获取省份列表
  // TypeScript写法
  private async getProvinceList() {
    const res: any = await Ajax.post('api地址');
    this.provinceList = res.data.province;
  }
3. 获得返回值: await等待的虽然是promise对象,但不必写.then(…),直接可以得到返回值
4. 在当前页面可以直接用标准的try catch语法捕捉错误
5. async/await是写异步代码的新方式,相比于Promise,它更简洁,并且处理错误、条件语句、中间值等使用起来更方便

总结

仅供参考

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值