变量声明

const 和 let:分别表示常量和变量

模板字符串

const user = 'world';

console.log(`hello ${user}`); // hello world

默认参数

function logActivity(activity = 'skiing') {

  console.log(activity);

}

logActivity(); // skiing

箭头函数

[1, 2, 3].map(x => x + 1); // [2, 3, 4]

模块的 Import 和 Export

// 引入全部
import dva from 'dva';
// 引入部分
import { connect } from 'dva';
// 引入全部并作为 Icon 对象
import * as Icon from './Icon';
// 导出默认
export default App;
// 部分导出,需 import { App } from './file'; 引入
export class App extend Component {};

ES6 对象和数组

  析构赋值

  const { name, age } = user;
  const [foo, bar] = arr;

  对象字面量改进(析构的反向操作)

  const name = 'duoduo';
  const age = 8;
  const user = { name, age };

  Spread Operator(即 3 个点 ...)   

  const todos = ['Learn dva'];
  [...todos, 'Learn antd']; // ['Learn dva', 'Learn antd']

Promises

  Promise 用于更优雅地处理异步请求

Generators

  dva 的 effects 是通过 generator 组织的

  Generator 返回的是迭代器,通过 yield 关键字实现暂停功能,把异步逻辑通过同步的方式组织起来

  app.model({
  namespace: 'users',
  effects: {
  *fetch({ payload: {page = 1}}, { put, call }) {
  const { data } = yield call(users.fetch, { page });
  yield put({ type: 'save', payload: data });
  },
   },
  });
 
05-28 16:17