ES6知识点

128 阅读2分钟

ES6 知识点

  • 变量声明
  • 变量值的解构
  • 模板字符串
  • 箭头函数

变量声明

  1. let 关键字 let关键字用 来声明变量,使let声明的变量有几个特点: 声明的变量有几个特点:

    1. 不允许重复声明
    2. 块儿级作用域
    3. 不存在变量提升
    4. 不影响作用域链 应用 场景:以后声明变量使 let
  2. const关键字 const 关键字用来声明常量, const声明有以下特点

    1. 声明必须赋初始值
    2. 标识符一般为大写
    3. 不允许重复声明
    4. 值不允许修改
    5. 块儿级作用域

注意 : 对象属性修改和数组元素变化不会出发 const 错误 应用 场景:声明对象类型使const,非对象类型声明选择 let

变量值的解构

数组

  const arr = ['张学友','刘德华','郭富城','黎明']
  let [zhang ,liu,guo,li] =arr

对象

//对象的简单解构

const lin = {
 name:'林志颖',
  tags:['车手','歌手','演员']
};
let {name,tags} = lin

//对象的复杂结构
//想使用 对象中对象的某个属性 比如下例中的 songs 中的红豆
let wangfei = {
  name: '王菲',
  age: 18,
  songs: ['红豆', '流年', '传奇'],
  history: [
    { name: '窦唯' }, { name: "李亚鹏" }, { name: '谢霆锋' }
  ]
}
let { songs: [one, two, three], history: [first, second, third] } = wangfei
console.log(one, three, second);//==》红豆 传奇 {name: '李亚鹏'}

模板字符串

// 使用 `` 可${} 添加变量,可随意换行

cosnt str = '123456'
cosnt strs = `这里是&{str}`
console.log(strs)//=》这里是123456

//简化对象写法
//允许再大括号里面直接写入变量和函数,作为对象的属性和方法

let name = '尚硅谷';
let slogon = '永远追求行业更高标准';
let improve = function () {
  console.log('可以提高你的技能');
}
//属性和方法  原来的写法
let atguigu = {
  name:name,
  slogon:slogon,
  improve:improve,
  change() {
    console.log('可以改变你')
  }
};
//================================================
let name = '尚硅谷';
let slogon = '永远追求行业更高标准';
let improve = function () {
  console.log('可以提高你的技能');
}
//属性和方法简写
let atguigu = {
    name,
    slogon,
    improve,
    change() {
      console.log('可以改变你')
    }
  };

箭头函数

()=>{}
箭头函数的注意点:

1) 如果形参只有一个,则小括号可以省略 params=>{........}
2) 函数体如果只有一条语句,则花括号可以省略,函数的返回值为该条语句的(p)=>{return p.nane} ==>p=>p.name
执行结果
3) 箭头函数this 指向声明时所在作用域下 this 的值
4) 箭头函数不能作为构造函数实例化
5) 不能使用arguments
*补充*  arguments  ====> 接受函数中所有的实参