软件开发定制ES7和ES8常见新特性

文章目录

1.新特性

1.1 Array Includes

ES7之前,软件开发定制如果我们想判断一个数软件开发定制组中是否包含某个元素,需要通过 indexOf 获取结果,软件开发定制并且判断是否为 -1。

ES7之后,软件开发定制我们可以通过includes来判断一个数组中是否包含一个指定的元素,根据情况,如果包含则返回 true,否则返回false

const arr = [10, 20, 30];console.log(arr.includes(30)); // trueconsole.log(arr.includes(40)); // false
  • 1
  • 2
  • 3
  • 4

1.2 指数运算符

ES7之前,计算数字的乘方需要通过 Math.pow 方法来完成。

ES7之后,增加了 ** 运算符,可以对数字来计算乘方。

const result1 = Math.pow(2, 2);const result2 = 3 ** 2;console.log(result1); // 4console.log(result2); // 9
  • 1
  • 2
  • 3
  • 4
  • 5

2.ES8新特性

2.1 Object values

之前我们可以通过 Object.keys 获取一个对象所有的key

在ES8中提供了 Object.values 来获取所有的value值:

const obj = {  name: "kaisa",  age: 18,  height: 1.88,};console.log(Object.values(obj)); // ['kaisa', 18, 1.88]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2.2 Object entries

通过 Object.entries 可以获取到一个数组,数组中会存放可枚举属性的键值对数组。

  • 可以针对对象操作;
const obj = {  name: "why",  age: 18,  height: 1.88,};console.log(Object.entries(obj)); // [['name', 'why'], ['age', 18], ['height', 1.88]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 也可以针对数组、字符串进行操作, 数组和字符串会将索引作为key(了解)
const arr = [10, 20];const str = "ab";console.log(Object.entries(arr)); // [['0', 10], ['1', 20]]console.log(Object.entries(str)); // [['0', 'a'], ['1', 'b']]
  • 1
  • 2
  • 3
  • 4
  • 5

2.3 String/Padding

某些字符串我们需要对其进行前后的填充,来实现某种格式化效果,ES8中增加了 padStartpadEnd 方法,分别是对字符串的首尾进行填充的。

  • 第一个参数, 填充到多少位; 第二个参数, 用什么来填充
const message = "Hello";// 在开头用a填充到10位console.log(message.padStart(10, "a")); // aaaaaHello// 在结尾用b填充到10位console.log(message.padEnd(10, "b")); // Hellobbbbb
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

我们最简单的一个应用场景: 比如时间是一位数时, 我们需要填充一个0

const hours = "15".padStart(2, 0);const minutes = "5".padStart(2, 0);const seconds = "9".padStart(2, 0);console.log(`${hours}:${minutes}:${seconds}`); // 15:05:09
  • 1
  • 2
  • 3
  • 4
  • 5

2.4 尾部逗号的添加

在ES8中,我们允许在函数定义和调用时多加一个逗号:

function foo(x, y, ) {  console.log(x, y);}foo(2, 4, )
  • 1
  • 2
  • 3
  • 4
  • 5

2.5 Object Descriptors

Object.getOwnPropertyDescriptors:

  • 获取某一个对象的描述 , 这个在之前已经讲过了,这里不再重复。

Async Function:async、await

  • 这些和promise息息相关, 后续讲完promise再讲

3.ES9新特性

ES9主要新增了以下知识点, 我们现在没办法讲解, 后续会将

  • Async iterators:后续迭代器讲解
  • Promise finally:后续讲Promise讲解
网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发