流浪のwolf

卷帝

导航

ES5 和 ES6 的区别,说几个 ES6 的新增方法

ECMAscript5.,即ES5 ,表示 ECMAscript的第五次修订-2009 ;

ECMAscript6.,即ES6 ,表示 ECMAscript的第六次修订-2015 ;

ES6 是对于 ES5的一次改进 ,更加简洁,提高了开发效率 ;

1. 新增声明命令 let const 

在 ES6  常用 const 和 let 声明变量,var 不在使用了 ;

特点:let 和const 可以声明跨级作用域,不存在变量提升(只有var 可以变量提升),先声明在使用;const 声明常量,声明的时候必须赋值,而且后面不许再次修改 ;

2. 模板字符串 `${}`

作用:可以在反引号包裹的字符串写表达式 

3. 函数的扩展 

3.1 函数的默认参数 

没有实参传递的时候,定义形参默认值

3.2 箭头函数 

4. 扩展对象

4.1 Object.keys()

返回键值数组

4.2 Object.assign()

添加对象属性

5.  for ... of.. 循环 

6. promise对象

Promise 是异步编程的一种解决方案,将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数,要是为了解决异步处理回调地狱(也就是循环嵌套的问题)而产生的Promise 构造函数包含一个参数和一个带有 resolve(解析)和 reject(拒绝)两个参数的回调。在回调中执行一些操作(例如异步),如果一切都正常,则调用 resolve,否则调用reject。对于已经实例化过的 Promise 对象可以调用 Promise.then() 方法,传递resolve 和reject 方法作为回调。then()方法接收两个参数:onResolve 和 onReject,分别代表当前Promise 对象在成功或失败时 Promise 的 3 种状态 Fulfilled 为成功的状态,Rejected 为失败的状态,Pending 既不是 Fulfilld 也不是Rejected 的状态,可以理解为 Promise 对象实例创建时候的初始状态

 7. 解构赋值

8.1)数组的解构赋值 解构赋值是对赋值运算符的扩展。 是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取。数组中的值会自动被解析到对应接收该值的变量中,数组的解构赋值要一一对应如果有对应不上的就是 undefined let [a, b, c] = [1, 2, 3]; // a = 1 // b = 2 // c = 3 8.2)对象的解构赋值 对象的解构赋值和数组的解构赋值其实类似,但是数组的数组成员是有序的而对象的属性则是无序的,所以对象的解构赋值简单理解是等号的左边和右边的结构相同 let { foo, bar } = { foo: 'aaa', bar: 'bbb' }; // foo = 'aaa' // bar = 'bbb' let { baz : foo } = { baz : 'ddd' }; // foo = 'ddd

8. Set 数据结构

Set 数据结构,类似数组。所有的数据都是唯一的,没有重复的值。它本身是一个构造函数。9.1)Set 属性和方法 Size() 数据的长度 Add() 添加某个值,返回 Set 结构本身。 Delete() 删除某个值,返回一个布尔值,表示删除是否成功。Has() 查找某条数据,返回一个布尔值。 Clear()清除所有成员,没有返

9 class 类

10. 展开运算符

展开运算符可以将数组或对象里面的值展开;还可以将多个值收集为一个变量,伪数组转换真数组 ;

11. async、await 

使用 async/await, 搭配 Promise,可以通过编写形似同步的代码来处理异步流程, 提高代码的简洁性和可读性 async 用于申明一个 function 是异步的,而 await 用于等待一个异步方法执行完成

posted on 2022-10-16 12:09  流浪のwolf  阅读(162)  评论(0编辑  收藏  举报