ES6,了解一下
2019-07-10 本文已影响0人
简小园
ES6的历史
ECMAScript和JavaScript
首先区别ECMAScript和JavaScript。
- ECMA是标准,JS是实现
- 类似于HTML5是标准,IE10、Chrome、FF都是实现
- 换句话说,将来也能有其他XXXScript来实现ECMA
- ECMAScript简称ECMA或ES
目前版本
- 低级浏览器主要支持ES 3.1
- 高级浏览器正在从ES 5过渡到ES 6
- 最新版2019(ES10)
历史版本
时间 | ECMA | JS | 解释 |
---|---|---|---|
1996.11 | ES 1.0 | JS稳定 | Netscape将JS提交给ECMA组织,ES正式出现 |
1998.06 | ES 2.0 | ES2正式发布 | |
1999.12 | ES 3.0 | ES3被广泛支持 | |
2007.10 | ES 4.0 | ES4过于激进,被废了 | |
2008.07 | ES 3.1 | 4.0退化为严重缩水版的3.1 因为吵得太厉害,所以ES 3.1代号为Harmony(和谐) |
|
2009.12 | ES 5.0 | ES 5.0正式发布 同时公布了JavaScript.next也就是后来的ES 6.0 |
|
2011.06 | ES 5.1 | ES 5.1成为了ISO国际标准 | |
2013.03 | ES 6.0 | ES 6.0草案定稿 | |
2013.12 | ES 6.0 | ES 6.0草案发布 | |
2015.06 | ES 6.0 | ES 6.0预计发布正式版 JavaScript.next开始指向ES 7.0 |
最新版本
- ES6(ECMA 2015)
- ES7(ECMA 2016)
- ** 求幂
- Array.includes()
- ES8(ECMA 2017)
- await/async
- ES9(ECMA 2018)
- rest/spread
- 异步迭代
- Promise.finally()
- 正则
兼容性
ES6 (ES2015) :兼容IE10+、Chrome、FireFox、移动端、NodeJS
ES6 解决兼容问题
编译、转换
- 在线转换——太慢
- 引入
browser.js(又叫babel)
<script type="text/babel></script>"
- 引入
- 提前编译——推荐
提前编译
-
安装nodejs
-
安装babel
-
生成 package.json:
npm init -y
-
下载:
npm i @babel/core @babel/cli @babel/preset-env
-
添加脚本——修改 package.json
"scripts": { "build": "babel src -d dest" },
-
运行:
npm run build
-
新建 .babelrc 文件——配置文件
// 声明preset { "presets": ["@babel/preset-env"] }