ES6的新知识点

时间:2022-08-07 16:43:20

一、变量

原有变量:

var的缺点:

  • 1.可以重复声明
  • 2.无法限制修改
  • 3.没有块级作用域

新增变量:

let :不能重复声明,变量-可以修改,块级作用域

const:不能重复声明,变量-不可以修改,块级作用域

二、箭头函数

原函数:

var func = function(args){

  alert(“abc”);

};

现箭头函数:

var func = (args)=> {

  alert(“abc”);

};

简写规则:

()——只有一个参数

{ } ——只有一个return

所以上述函数还可以写为:

var func = args => alert(“abc”);

三、函数的参数

function(a,b,...args)

...args 可以 替代所有想写的不想写的参数

四、解构赋值

1.左右两边结构必须一样

2.右边必须定义

3.声明和赋值不能分开(必须在一句话里完成)

let [a,b,c] = [12,5,8];

let {a,b,c} = {a: 12, b: 5, c: 8};

五、数组新操作

map             映射

reduce         汇总

filter             过滤器

forEach       循环(迭代)

六、字符串

1.新方法

  • startsWith
  • endsWith

2.字符串模板

  • 直接可以把元素嵌套在字符串里   $(元素)
  • 可以折行

七、json

1.json对象

  • JSON.stringify
  • JSON.parse

2.简写

json = {

  url : url,

  show : function(){ }

}

简写为:

json = {

  url,

  show(){ }

}

json标准写法:只能用双引号;属性必须用双引号包起来

八、promise

有了promise之后的异步:

Promise.all([$.ajax(), $.ajax()]).then(results=>{

  //success

}, err=>{

  //error

});

九、generator

可以暂停函数的函数

//创建generator函数

function *func() {

  //do sth A

  yield;

  //do sth B

}

//调用

let genObj = func();

genObg.next(); //do A

genObg.next(); //do B

 yield :可以传参,也可以返回

异步操作:

1.回调

2.promise

3.generator(runner.js)

runner( function *() {

  let data1 = yield $.ajax({url: xxx, dataType : 'json'});

  let data2 = yield $.ajax({url: xxx, dataType : 'json'});

  let data3 = yield $.ajax({url: xxx, dataType : 'json'});

});

Promise——适合做没有逻辑的异步

generator——适合做逻辑性异步