学习es6的day03

ES6-day03
  1.函数
    1)函数参数
      默认值
        let fuc = (a,b,c=0) => {}
        fun(1,2)
      解构
        let fun1 = ({ name, age, gender='male'}) => {}
        fun1({name:'zhangsan',age:12})

        let fun2 = ([a,b,c]) => {}
        fun2([1,2,3])
    2)rest参数,聚合实参,返回数组(拓展运算符的逆运算)
      let fuc = (a,...b) => {
        console.log(a,b) // 1 [2,3,4,5]
      }
      fun(1,2,3,4,5)
    3)箭头函数
      this指向
        普通函数:this指向调用者,没有调用者指向global
        箭头函数:没有自己的this,this指向'声明时'外部作用域的this
      箭头函数写法
        极简写法(形参只有一个时,可省略括号,只有一句返回语句时,箭头后面可直接写表达式)
          let result = arr.filter(item => item > 5)
        箭头函数完整写法=>
          let result = arr.filter((item) => {
            retrun item > 5
          })
        ES5写法=>
          let result = arr.filter(function(item) {
            retrun item > 5
          })
  2.迭代器Iterator
    实现了iterator接口的数据,即是可迭代的数据
    1)访问
      {value: 1, done: false}
      {value: 2, done: false}
      {value: undefined, done: true}
      iterator.next()
        通过调用.next方法,可以使迭代器对象中的指针向下移一位
        value有值,done就为false
        value为undefined时,done为true
    2)作用
      1)为实现了iterator接口的数据,提供统一的访问机制(for of循环)
      2)数据内部成员按照一定的次序排列,通过调用.next()方法,指向下一个成员
      3)供ES6中的for of 循环来消费
    3)for of 使用,可以遍历实现了iterator接口的数据
      let entry = arr.entries();
      for (let en of entry) {
        console.log(en);
      }
    4)for of 实现(.next())
      let result;
      while (!(result = entry.next()).done) {
        console.log(result.value);
      }
    5)原生具备 Iterator 接口的数据结构如下
      Array、Map、Set、String、arguments、NodeList 等
  3.Set集合
    类似于数组,key和value是相同
    1)特性:
      不允许重复值出现
      应用:数组去重
      Array.form(new Set(arr))
    2)API
      Set.prototype.size        返回Set实例的成员总数。
      Set.prototype.add(value)    添加某个值,返回Set结构本身
      Set.prototype.delete(value)    删除某个值,返回一个布尔值,表示删除是否成功。
      Set.prototype.has(value)    返回一个布尔值,表示该值是否为Set的成员。
      Set.prototype.clear()    清除所有成员,没有返回值。
      Set.prototype.keys()    返回键名的遍历器
      Set.prototype.values()    返回键值的遍历器
      Set.prototype.entries()    返回键值对的遍历器
      Set.prototype.forEach()    使用回调函数遍历每个成员
  4.Map集合
    类似于对象,key-value对应的集合。
    1)特点:
      key值不局限于字符串,可以是任意数据类型
    2)API
      Map.prototype.size    返回 Map 结构的成员总数。
      Map.prototype.set(key, value)    set方法设置键名key对应的键值为value,然后返回整个map结构。如果key已经有值,则键值会被更新,否则就新生成该键。
      Map.prototype.get(key)    get方法读取key对应的键值,如果找不到key,返回undefined。
      Map.prototype.has(key)    has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。
      Map.prototype.delete(key)delete方法删除某个键,返回true。如果删除失败,返回false。
      Map.prototype.clear()    清除所有成员,没有返回值
      Map.prototype.keys()    返回键名的遍历器
      Map.prototype.values()    返回键值的遍历器
      Map.prototype.entries()    返回键值对的遍历器
      Map.prototype.forEach()    使用回调函数遍历每个成员

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值