ES6

一、ES6

1.1 介绍

ECMAScript第6版标准

ECMAScript是浏览器脚本语言的规范,而各种我们熟知的js语言,如JavaScript则是规范的具体实现

详细的参考:阮一峰的ES6教程

1.2 let 和 const 命令

var有时定义的变量会成为全局变量

let:声明一个变量,不会越界

const:声明一个常量

1.3 字符串扩展

ES6为字符串扩展了几个新的API:

  • includes():返回布尔值,表示是否找到了参数字符串。
  • startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
  • endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。

ES6中提供了`来作为字符串模板标记 : 在两个这个符号之间的部分都会被作为字符串的值,不管你任意换行,甚至加入js脚本

1.4 解构表达式

数组结构: 要用[]

const [x,y,z] = arr;// x,y,z将与arr中的每个位置对应来取值
// 然后打印
console.log(x,y,z);

对象结构: 要用{}

  1. 解构表达式获取值(结构的变量名是属性名) :const {name,age,language} = person;
  2. 想要用其它变量接收,需要额外指定别名:{name:n}:name是person中的属性名,冒号后面的n是解构后要赋值给的变量。

1.5 函数优化

  1. 赋默认值:方法参数列表赋默认值 (a, b=1)=>{}

  2. 箭头函数:()=>{}

  3. 对象中定义函数:

    传统 eat:var print = function(obj){console.log(obj);}

    箭头 eat:var print= obj => console.log(obj);

    简写 eat(obj){console.log(obj)}

  4. 箭头函数结合解构表达式:var hi = ({对象的属性名}) => console.log("hello," + 对象的属性名);

1.6 map和reduce

ES6 数组中新增了map和reduce方法

map() : 处理一个数组,遍历数组中的每一个元素用函数处理,把处理结果放入新的数组

reduce() : 接收一个函数(必须)和一个初始值(可选)。

接收的函数将接收两个参数: 第一个参数是上一次reduce处理的结果;第二个参数是数组中要处理的下一个元素

reduce()会从左到右依次把数组中的元素用reduce处理,并把处理的结果作为下次reduce的第一个参数。如果是第一次,会把前两个元素作为计算参数,或者把用户指定的初始值作为起始参数

  1. 没有初始化值: arr.reduce((a,b)=> a+b)
  2. 有初始化值: arr.reduce((a,b)=> a+b,1)

1.7 对象扩展

  1. keys(obj):获取对象的所有key形成的数组
  2. values(obj):获取对象的所有value形成的数组
  3. entries(obj):获取对象的所有key和value形成的二维数组。格式:[[k1,v1],[k2,v2],...]
  4. assign(dest, …src) :将多个src对象的值 拷贝到 dest中(浅拷贝)。

1.8 数组扩展

  • find(callback):数组实例的find方法,用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。
  • findIndex(callback):数组实例的findIndex方法的用法与find方法非常类似,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。
  • includes(数组元素):与find类似,如果匹配到元素,则返回true,代表找到了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值