学习es6的day02

本文详细介绍了ES6中的变量声明,包括let和const的区别,强调了它们的作用域和不可重复声明的特点。解构技术在数组、对象、字符串和布尔值中的应用被逐一解析,展示了其在简化代码和提取值方面的强大能力。此外,还探讨了对象和数组的API拓展,如Object.setPrototypeOf和Array.prototype.find等,帮助开发者更好地利用这些新特性进行编程。
摘要由CSDN通过智能技术生成

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()   键值对的迭代器对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值