ECMAScript6学习简易笔记(上)
一、ECMAScript简介
es6是javascript的最新版本
2015年发布的es6以及以后的各个小版本统称为es6
· ES是JS的标准,JS是ES的实现
ES6是ES5的语法糖,更为简标准化
二、let和const
let没有变量提升
let不允许变量的重复定义
let属于块级作用域
let定义的变量有暂时性死区
let定义的变量不会变成顶级对象的属性
const定义常量,必须在定义的时候初始化 (具有let的优点)
三、字符串扩展
使用反引号来定义字符串
新增方法 includes() padStart(length,str) trim()
四、变量解构赋值
ES6中允许按照一定模式来解析数组,对象,赋值给变量。这种模式为解构赋值
数组是一种有序的结构在解析数据的时候,按顺序来解析赋值
对象是无序的哈希结构,解构时需要借助属性名来解构
诀窍
Generator 函数是 ES6 提供的一种异步编程解决方案
Generator函数是一个状态机, 可控制函数执行过程
可暂停函数(惰性求值), 内部yield可暂停,外部调用next方法可启动。每次返回的是yield后的表达式结果
十、Promise
promise是一种异步编程的解决方案
promise里面通常保存了未来才会结束的事件
有了promis对象,就可以将异步操作以同步流程表达出来
避免了回调地狱
promise有三种用法 pending 进行中 fullfillde 成功(resolved) reject 失败
promise状态有两种改变方式 pending----resolve pending----reject
then方法可以接收两个参数 promise成功状态回调 promise失败状态回调
catch方法 可以捕获代码中的异常 可以接收promise失败状态回调
then()返回值为promise对象,可以通过多个then链式调用,来完成promise的顺序
then成功回调返回值 返回普通数据类型传递给下一个then
返回一个promise会决定下一个then的状态
promise all()将多个promise实例包装为一个新的promise promise all()的状态取决于所有promise的状态
一个promisre失败则promise all()失败 都成功则promise all()成功
浙公网安备 33010602011771号