ES6的新增语法

127 阅读4分钟

 ES6的语法规范

一、定义变量的关键词
  1、let
    <1> 特点:
      (1)定义的变量名称不能重复
      (2)定义的变量会像forEach()循环类似会建立独立的相互之间不影响的
      (3)定义在{}和循环中的变量 只能在{}和循环中使用
    <2> 使用:
      (1)定义基本数据类型
      (2)在循环中使用 定义循环变量
  2、const
    <1> 特点:
      (1)定义的变量名称不能重复
      (2)定义的数不能被改变
      (3)定义在{}和循环中的变量 只能在{}和循环中使用
    <2> 使用:
       定义引用数据类型 定义常量
  3、总结:
   let 多用于定义 基本数据类型 以及 循环中
  const 多用于定义 引用数据类型
  特点:
      定义的变量名称不能重复
    在 { } 和 循环中定义,只能在 { } 和 循环中使用
    let会建立独立的,存储不同的,相互不冲突数据的变量
    const定义的变量,不能重复赋值,不能修改存储的数据
二、箭头函数
  1、三种形式:
    (1)function(){} === ()=>{} 箭头函数
    (2) function(e){} === e=>{} 箭头函数
    (3) function(){一行代码} === ()=>一行代码 箭头函数
  2、特点:
    <1> this指向与一般的function函数不同
       (1)声明式 function fun(){} this指向是 window
       (2)赋值式 var fun = function(){} this指向是 window
       (3)forEach()循环 this指向是window
      (4)定时器,延时器 setInterval(function(){} , 时间) this指向是window
      (5)对象中的函数 const obj = {fun:function(){}} this指向是obj对象
       (6)事件处理函数 标签.addEventListener(事件类型,function(){}) this指向是标签对象
    <2> 函数的this指向是父级程序的this
      如果父级程序有this指向 指向的就是父级程序的this指向
      如果父级程序没有this指向 (对象,数组是没有this)指向的是window
    <3> 箭头函数 无法改变this指向
三、改变this指向
    <1> 函数.call(参数1,其他参数)
      (1)立即执行函数,并且改变函数的this指向为参数1表啊hide内容
      (2)其他参数是原始函数的实参 多个实参用使用逗号间隔
    <2>函数.apply(参数1,[数组参数])
      (1)立即执行函数并且改变函数的this指向为参数1表示的内容
      (2)数组参数 是原始函数的参数 多个参数以数组的单元的形式存储
    <3>函数.bind(参数1)
      (1)不会立即执行函数 而是生成一个新的函数 新函数参数 程序内容 都与原始函数相同 只是this改变为参数1表示的内容
四、解构
     <1>数组的解构
       将数组的数值 一一对应的赋值给变量
         let[变量1,变量2,变量3] = [1,2,3];


    <2>多维数组的解构
      let[变量1,变量2,[变量3,变量4,变量5]] = [1,2,[a,b,c]];
    <3>对象的解构
       按照定义的属性 从对象中获取数据 赋值给定义的属性 属性就是定义的变量名称
        let{属性} = 对象
      按照定义的属性 从对象中获取数据 赋值给定义的别名 别名是定义的变量名称
        let{属性.别名} = 对象


    <4>多维对象解构
      let{属性:{属性:别名}} = {属性:{属性:数据}}
五、合并 展开运算符 ...
    <1>定义在形参中
       function(...arr)
      将所有的实参都已数组单元的形式存储在形参中
      可以通过操作数组的方法来获取实参
    <2>定义在实参中 function(形参1,形参2,形参3){} fun(...数组)
      将数组中的数据展开 一一对应的赋值给形参
    <3>普通函数 function 中有JavaScript专门定义好的变量 arguments
      如果没有定义形参 arguments 会以数组的形式来存储所有的实参
    <4>箭头函数中 没有 arguments 变量
      要想以数据的形式存储实参必须使用合并运算符