web全栈架构师[笔记] — 01 ECMAScript6新特性
ES6新特性
一、变量
- var:重复定义不报错;没有块级作用域;不能限制修改
- let:变量,不能重复定义,有块级作用域
- const:常量,不能重复定义,有块级作用域
二、函数/参数
- 箭头函数——简写:
- 1.只有一个参数,()可以省
- 2.只有一个语句,还是return,{}可以省
- 参数扩展——剩余参数
- 数组展开
三、模块化
-
1、sea.js、require.js
- 规范:CMD 、AMD(区别是什么)
-
seajs作用:按需引用,解决依赖
1 // 定义模块 2 define(function(require, exports, module) { 3 // 1.exports 4 // exports.a = 12 5 // exports.b = 5 6 // 2.require 7 let mod2 = require('./mod2.js') 8 // 3.module:批量导出 9 module.exports = { 10 a:12,b:5,c:8,d:7,num:mod2.num, 11 show(a,b){ 12 alert(a+b) 13 } 14 } 15 }); 16 // 引用模块 17 seajs.use(['xxx.js','xxx.js',...],function(mod1,mod2,..){
18 })
-
2、nodejs模块化
- 没有define
- 有exports、require、module
- 引用自定义模块
- 放到node_modules文件夹里面
- 前面加./ ,例如:
./mod1.js
-
3、ES6模块化
四、数组
- map(映射):
- reduce(汇总):
- filter(过滤):
- forEach(迭代、遍历):
五、字符串
- 字符串模板:
xxxx${变量}xxx
六、面向对象
- class
- super
- extends
七、promise
- 作用:解决异步操作
-
本质:(状态机)等待异步操作结束
- 当状态改变的时候调用之前挂起的then队列
- then的时候直接执行对应函数,并且参数给人家
-
同步——只有操作结束了,才往下执行(一次只能做一个事)
-
异步——这个操作进行中,其他操作也能开始(一次可以做多个事)
-
异步的优势:
- 用户体验好
- 高效
-
同步的优势:
- 简单
-
promise:
1 // 创建Promise对象 2 let p = new Promise(function(resolve,reject){ 3 异步代码... 4 }); 5 6 // 使用Promise对象 7 p.then(()=>{ 8 9 },()=>{ 10 11 })
八、generator
- 本质:无感处理异步操作
- 普通函数:一直执行到头
- generator:中间可以暂停
- yield:
- 传参
- 返回值
九、async/await
- 本质:官方runner

浙公网安备 33010602011771号