学习es6的day02

ES6-day02
  1.变量/常量声明
    let 声明变量
    const 声明常量
    特性
      . 变量声明不会被提升,即在变量声明之前无法使用该变量
      . 具有局部作用域,即let声明的变量只能在对应代码块中使用
      . 不允许重复声明。
      . const声明的变量在声明的时候就需要赋值,并且只能赋值一次,不能修改。
  2.解构(模式匹配)
    1)介绍:ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值。
    2)数组解构
      let [a, b, c] = [1,2,3]
      let [a, b] = [1,2,3]
      使用拓展运算符(用在=左边聚合作用,返回一个新数组)
        let [a, ...b] = [1,2,3]  // b = [2, 3]
      设置默认值
        let [a=1] = []
        let [a=myFun()] = []
    3)对象解构
      let { user:user, age:age} = {user:'zhangsan',age:12}
      let { user, age } = {user:'zhangsan',age:12}
      设置默认值
        let { a, b=3} = {1}
    4)字符串解构
      数组解构:从字符串里提取字符
        let [a, b, c] = 'hello'; a='h' b='e' c='l'
      对象解构:从字符串原型中解构属性和方法
        let { length, toString } = 'hello'
    5)number解构
      let { valueOf } = 12   valueOf === Number.prototype.valueOf()
    6)boolean解构
      let { valueOf } = true valueOf === Boolean.prototype.valueOf()
  3.对象
    简写
      let name = "zhangsan";
      let obj = {
        name,
        sayName() {}
      }
    API拓展
      Object.is(a,b)     判断a,b两个值是否一样,类似于===
      Object.assign() 深复制或者合并对象
        Object.assign(obj1, obj2) 深复制,将obj2复制给obj1
        Object.assign(obj1, obj2, obj3) 对象合并,将obj2、obj3合并后复制给obj1
      Object.setPrototypeOf(obj1, obj2)  为目标对象设置原型,将obj2设置成obj1的原型
      Object.getPrototypeOf(obj1)  获取目标对象的原型
      Object.keys()     返回对象属性名组成的数组
      Object.values()   返回对象属性值组成的数组
      Object.entries()  返回对象[属性名, 属性值]组成的二维数组
  4.数组
    拓展运算符
      ...用在=左边,聚合的作用(对象、数组的解构)
      ...用在=右边,展开(剥离)的作用
        let obj1 = {
          name: '张三'
        }
        let obj2 = {
          ...obj1,
          age: 12
        }
    API拓展
      Array.from()  将其他类型数据(可迭代的)转成数组
      Array.of()    创建数组实例,实参就是数组的元素
      Array.prototype.find() 返回满足条件的第一个元素,参数为函数
      Array.prototype.findIndex() 返回满足条件的第一个元素的索引,参数为函数
      Array.prototype.includes()  判断当前数组中是否包含某个元素,参数为元素,返回true/false
      Array.prototype.fill()      填充数组(所有元素填充),修改数组原值
      Array.prototype.()      索引的迭代器对象
      Array.prototype.values()    元素的迭代器对象
      Array.prototype.entries()   键值对的迭代器对象

你可能感兴趣的:(javascript,html5,es6)