常用es6新特性 笔记

常用es6新特性

1.let/const

1. let/const 和 var 的区别
        1-1. 预解析
          => 在预解析的过程中, var 定义的变量会被预解析
          => let 和 const 不会, 只能先定义后使用   不会解析
        1-2. 重复声明(重名变量)
          => 使用 var 可以定义两个一模一样的变量, 只是第二次定义没有意义, 赋值有意义
          => let 和 const 不允许声明重名变量
        1-3. 块级作用域
          => var 没有块级作用域
          => let 和 const 有块级作用域, 每一个可以书写代码段的 {} 都能限制变量的使用范围

      2. let 和 const 的区别
        2-1. 赋值问题
          => let 可以再声明的时候不赋值
          => const 在定义的时候必须赋值
        2-2. 修改值
          => let 定义的变量值可以被修改
          => const 定义的值, 在定义时赋值, 一旦赋值不允许修改

2.箭头函数

 箭头函数 和 函数表达式的区别
        1. 箭头函数内没有 arguments
          => 函数内一个伪数组, 是所有实参的集合
        2. 箭头函数内没有 this
          => 官方: 箭头函数内的 this 是上下文(context) 的 this
          => 私人: 箭头函数外面的函数 this 是谁, 箭头函数内的 this 就是谁

      箭头函数的两个特点(不强制要求)
        1. 可以省略小括号不写
          => 当你的形参有且只有一个的时候, 可以不写小括号
          => 如果你没有形参或者两个及以上, 那么必须写
        2. 可以省略大括号不写
          => 当你的代码有且只有一句话的时候, 可以不写大括号
          => 并且会自动把这一句话的结果当做返回值

3.函数的参数默认值

     函数的参数默认值
        + 当你不传递实参的时候使用的值
        + 在函数形参位置使用 赋值符号(=) 给形参赋值就行
        + 箭头函数也能设置参数默认值
          => 注意: 如果你设置了参数默认值, 那么不管多少个形参
          => 都需要书写小括号
    
eg:

    function fn1(a = 10, b = 20) {
      // 给形参 a 设置默认值为 10, 给形参 b 设置默认值为 20
      console.group('fn1 函数内的打印')
      console.log(a)
      console.log(b)
      console.groupEnd()
    }

4.模板字符串

模板字符串的特点:
        1. 可以换行书写字符串
        2. 可以在字符串内拼接变量
        3. 使用反引号(``)
          => 当你需要使用变量的时候, 书写 ${ 变量 }

5.解构赋值

 解构数组
        + 快速从数组中获取一些数据
        + 注意: 解构数组使用 []
        + 语法: let [ 变量1, 变量2, 变量3, ... ] = 数组
          => 按照数组的索引依次给 解构 内的 变量进行赋值
          
 解构对象
        + 快速从对象内获取一些数据
        + 注意: 解构对象使用 {}
        + 语法: let { 键名1, 键名2, ... } = 对象
        + 别名: let { 键名: 别名 } = 对象         

6.扩展运算符

展开运算符
        => 展开数组或者对象
        => 多用于数组
        => 当你使用在 数组 或者 对象 或者 函数实参位置的时候叫做 展开运算

      合并运算符
        => 用于合并多个数据
        => 当你使用在 解构数组 或者 函数的形参位置的时候叫做 合并运算
        
        1. 展开运算符
    // const arr = [ 100, 200, 300 ]
    // // console.log(arr)
    // // console.log(100, 200, 300)
    // // console.log(...arr)
    // const arr2 = [...arr, 400, 500, ...arr]
    // console.log(arr2)

    // 2. 合并运算符
    // const arr = [ 100, 200, 300, 400, 500 ]
    // 在解构中使用合并运算符
    // 把 arr 中 [0] 赋值给 a
    // 把 arr 中 [1] 开始到末尾的所有内容都赋值给 b, 以一个新数组的形式出现
    // 注意: 合并运算符必须写在最后一个的位置
    // const [ a, ...b ] = arr
    // console.log(a)
    // console.log(b)

    // 在函数形参位置使用
    // a 接受第一个实参
    // 剩下的所有实参给到 b, 以一个新数组的形式出现
    // 注意: 合并运算符必须写在最后一个的位置
    // function fn(a, ...b) {
    //   console.log(a)
    //   console.log(b)
    // }

7.对象简写

对象简写语法
        1. 当 key 和 value 一模一样, 并且 value 是一个变量的时候
          => 可以省略 value 和 冒号(:) 不写
        2. 当某一个 key 的值是一个函数, 并且不是箭头函数的时候
          => 可以直接省略 function 关键字和 冒号(:) 不写
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值