ES6新特性(一)

一、let 和 const

       let和const声明的变量不可以重复声明。同时拥有作用域,出了括号就不能再使用。

二、箭头函数=>   

     这个东西其他语言已经玩烂大街了,没什么好说的。

三、函数的参数扩展

  • 参数默认值——定义参数时可以直接赋值
  • 展开运输符...
  1. 可以用做剩余参数的收集,和可变参数一样,且必须为最后一个位置
  2. 可以用作数组的展开

四、字符串相关

  • 新添两个方法 startsWith与endsWith

       判断定符以什么开头和结尾,没什么新鲜的C#早有了

  • 模板字符串··(反单引号)

      用来拼接字符串,可以无视换行${变量}

五、结构赋值

  1.  左右结构必须一致
  2. 右边必须是个合法的东西 
  3. 声明和赋值必须同时完成,不能分开写
let[a,b,c]=[1,2,3]//单纯数组
let{a,b,c}={a:1,b:2,c:3}//单纯json
let[{json1,json2},[arr1,arr2,arr3],num,str]=[{a:1,b;2},[1,2,3],4,"str"]//复杂组合
let[{json},[arr],num,str]=[{a:1,b;2},[1,2,3],4,"str"]//复杂组合可按粒度选择接受

六、数组相关

  • map(映射)遍历每一个数在方法体里做操作,然后一起返回
let arr=[1,2,3]
let res=arr.map(item=>item+1)
结果:[2,3,4]
  • reduce(汇总)遍历每一个数在方法体里做操作,然后只返回一个数
let arr=[5,345,13,57,77]
//reduce有3个参数:temp(临时结果)item(当前元素),index(当前下标,不是从0开始而是从1开始算),
let res=arr.reduce(function(temp,item,index){

    return temp+item;//返回的值会当作下一次的temp再传进来
})
  • filter(过滤器)遍历每一个数在方法体里做操作,然后过滤掉不满足条件的数,返回满足条件的数
  • forEach (迭代)遍历每一个数在方法体里做操作

猜你喜欢

转载自blog.csdn.net/hiose89/article/details/88969592