一.ES6新特性
1.1了解ES6
现在使用主流的前端框架中,如react.js、vue.js、angular.js等,都会使用到ES6的新特性。ES6是ECMAScript6的简称,它是JavaScript语言的下一代标准,它的目标是使JavaScript语言可以用于编写复杂的大型应用程序,成为企业级开发语言。
1.2 let和const
之前我们使用的var作用范围比较广,例如:下面的 i 会输出5

let:把变量的作用域控制到了代码块中;
const:定义的是一个常量,不可以修改;
1.2字符串扩展
includes():返回布尔值,表示是否找到了参数字符串;
startsWith():返回布尔值,表示参数字符串是否在原字符串的头部;
endsWith():返回布尔值,表示参数字符串是否在原字符串尾部;

··
ES6中提供了·(键盘中1左边的点)来作为模板标记,在两个··之间的部分被作为字符串的值,可任意换行;

1.3解构表达式
ES6中允许安照一定模式从数组和对象中提取值,然后对变量进行赋值,这被称为解构。
1.3.1数组解构

1.3.2对象解构

1.4函数优化
1.4.1函数参数默认值

1.4.2箭头函数


1.4.3对象函数属性的简写

1.4.4箭头函数结合解构表达式

1.5 map和reduce
1.5.1 map()
接收一个函数,将原数组中的所有元素用这个函数处理后放入到新的数组返回
例如,将原数组转为int数组
1.5.2 reduce()
接收一个函数(必须)和一个初始值,第一个参数为上一次reduce处理的结果,第二个参数为数组中要处理的下一个元素

1.6 扩展运算符
扩展运算符(spread)是三个点(...),将一个数组转换为用逗号分隔的参数序列。

1.7 promise
所谓promise,简单说就是个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果,从语法上,promise是一个对象,它可以获取异步操作的消息。promise提供统一的API,各种异步操作都可以用同样的方法进行处理。
我们可以通过promise的构造函数来创建promise对象,并在内部封装一个异步执行的结果。
语法:

这样,在promise中就封装了一段异步执行的结果。
如果,我们想要等待异步执行完成,做一些事情,我们可以通过promise的then方法来实现
语法:

如果想要处理promise异步执行失败的事件,还可跟上catch:

举例:

1.8 set 和 map
1.8.1 set
set 数据容器 能够存储无重复值数据的有序列表

1.8.2 map
ES6中提供了Map数据结构,能够存放键值对,其中,键的去重是通过Object.is()方法进行比较,键的数据类型可以是基本类型数据也可以是对象,而值也可以是任意类型数据。


1.9 class(类)的基本语法
JavaScript语言传统方法是通过构造函数定义并生成新对象。ES6中引入了class的概念,通过class关键字自定义类。
基本语法:

类的继承:

1.10 Generator函数
generator函数是ES6提供的一种异步编程解决方案,其有两个特征,一是function命令与函数名之间有个星号,二是函数体内部使用yield语句定义不同的内部状态。

1.10.1 for .... of循环
通过for....of..可以遍历Generator函数返回的迭代器。

1.11 修饰器(Decorator)
修饰器(decorator)是一个函数,用来修改类的行为。


1.12 转码器
* Babel(babeljs.io)是一个广为使用的ES6转码器,可以将ES6代码转为ES5代码,从而在浏览器或其他环境执行。
* Google公司的Traceur转码器,也可将ES6代码转为ES5代码
这两款转码工具,我们不直接使用,而是使用阿里的开源框架react: Umijs(乌米)
1.12.1 了解Umijs
官网:https://umijs.org/zh/

特点:
插件化:umi的整个生命周期都是插件化的。
开箱即用:你只要umi依赖就可开启开发。
约定试路由:类next.js的约定试路由,无需再维护一份冗余的路由配置,支持权限、动态路由、嵌套路由等等。
1.12.2 部署安装
| #首先需要安装node.js #下载node-XXXXX64.msi,一路下一步 #安装完成后 node -v 查看版本号
#接下来暗转yarn,其中tyarn是淘宝的源,速度要快一些 npm i yarn tyarn -g #-g是全局的意思 tyarn -v #查看版本 #如果失败,可能是yarn添加环境变量导致,http://www.easysb.cn/index.php/2017/06/04/11
#安装umi tyarn global add umi #如果报错,进行这个设置之后,会正常。 原理等待补充 # yarn config set ignore-engines true
# windows系统: # 获取 global bin 的路径 yarn global bin C:\Users\Administrator\AppData\Local\Yarn\bin # 复制上面的 global bin 的路径,添加到系统环境变量 PATH。 umi #测试 |
1.12.3 快速入门
| #通过初始化命令将生成package.json文件,它是nodeJS约定用来存放项目信息和配置信息的文件 tyarn init -y
#通过umi命令创建index.js文件 umi g page index #可以看到pages下面穿件index.cdd和index.js文件
测试(将下面代码放入index.js中) #通过命令启动 umi dev #值得注意的是,这里访问的是umi后台服务器,不是idea提供的。 |
1.13 模块化
模块化就是把代码拆分,方便重复利用。类似java中的导包,要使用一个包,必须先导包。而JS中没有包的概念,换来的是模块,模块功能主要是由两个命令构成:export和import
export:命令用于规定模块的对外接口;
import:命令用于导入其他模块提供的功能;
1.13.1 export

1.13.2import

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
