ES6笔记

------------恢复内容开始------------

变量

var    重复声明、函数级;

let     不能重复声明、块级、变量;

const  不能重复声明、块级、常量;

箭头函数a.方便

  i. 如果只有一个参数、()可以省;

  ii. 如果只有一个return,{}可以省;

b. 修正this

解构赋值

1、左右两边数据类型对应一致;

2、两边是东西(即合法的数据类型);

3、定义和赋值不能分开;let [a,b] = [1,2];

数组

1、 map --> 映射; 一个对一个 [10,20,60,90]对应[不及格,不及格,及格,及格];

2、reduce --> 汇总; 一堆出来一个

     .reduce(tmp,item,index);// tmp:结果;item:每一项;index:下标(从1开始);

3、filter --> 过滤器

4、forEach --> 循环(迭代)参数 item index;

字符串

1、多了两个新方法:

  startsWith-->以...开头;

  endsWith-->以...结束;

 2、字符串模板(字符串拼接)

  i. 直接把东西塞到字符串里面; $(东西)

  ii. 可以折行;

ES6的面向对象

1、class关键字、构造器和类分开了;

2、class里面直接加方法;

继承super: 超类==父类

面向对象应用--React

React:

1、组件化--class;

2、JSX==babel==browser.js;

json

  JSON.stringify    JSON.parse

2、简写

  名字和值(key和value)一样的  留一个就行;

  方法          :和function一起删除;

3、json的标准写法:

  i.只能用双引号

  ii.所有的名字必须用引号包起来

Promise--承诺异步:操作之间没啥关系,同时进行多个操作;代码更复杂

同步:同时只能做一件事;代码简单

有了Promise之后的异步:

Promise.all([$.ajax(),$.ajax(),,,,]).then(result=>{alert('成功了')},err=>{alert('失败了')});

Promise----消除异步操作

  *用同步一样的方式来书写异步代码;  

Promise到底怎么用

1、Promise.all  全部成功;

2、Promise.race  竞速(成功一个请求就好);

generator---生成器函数

普通函数----一路到底;

generator函数------中间能停;function *函数(){

  代码。。

  yield ajax(xxx);

  代码...

}

调用: let obj = 函数();

obj.next(); // 执行;

yieid传参  yield返回

 generator--runner

cmd下载runner命令: cnpm i yield-runner-blue;

runner *(){

  let data1 = yield $ajax({url:xxx,});

  let data2 = yield $ajax({url:xxx,});

  // console.log(data1,data2);

}

Promise---- 一次读一堆;

generator---- 带逻辑性的;

------------恢复内容结束------------

原文地址:https://www.cnblogs.com/hhj3645/p/12285596.html