参考:
链接: link.
在逆战班学习JS也快两个月了,今天来说说ES6中新增的语法
ES6版本的JavaScript语法,是一个非常重要的版本:
对于JavaScript的功能上有一个极大的丰富
让JavaScript从弱类型语言,提升到了 半强类型语言
ES6中新增的语法:
1.变量
ES6中提供了两个声明变量的关键字:const和let
let的使用
ES6 新增了let命令,用来声明变量。它的用法类似于var。
let声明的变量只有在当前作用域有效
const的使用
const声明一个只读的常量。常量:值不可以改变的量
总结:
let 多用于定义 基本数据类型 以及 循环中
const 多用于定义 引用数据类型
特点:定义的变量名称不能重复
在 { } 和 循环中定义,只能在 { } 和 循环中使用
let会建立独立的,存储不同的,相互不冲突数据的变量
const定义的变量,不能重复赋值,不能修改存储的数据
2.箭头函数
所谓的箭头函数
是函数的另一种语法形式
const fun = function(){} 普通函数
const fun = ()=>{} 箭头函数
将匿名函数的部分,从 function(){} 写成 ()=>{} 的形式
函数中的this指向
1,普通的function函数
声明式 — window
赋值式 — window
forEach循环 — window
定时器,延时器 — window
对象中的函数 — 对象本身
事件绑定事件处理函数 — 绑定事件的标签
2,箭头函数的this指向
父级程序的this指向
如果父级程序有this指向(父级程序也是函数),this指向的就是父级程序的this指向
如果父级程序没有this指向(数组,对象…),this指向的是window
**
改变this指向
**
箭头函数,不能改变this指向,只有普通function函数,能改变this指向
1, call()方法
2, apply()方法
3, bind()方法
总结:
call apply 都是立即执行函数
参数1,都是改变的this指向
其他参数,是原始函数的形参(可以有,也可以没有)
bind 不是立即执行函数,是生成一个新的函数
参数1,是改变的this指向
就使用原始函数的形参
3.立即执行函数
语法:
(封装的函数)()
!封装的函数()
~封装的函数()
立即执行定义的函数,不是真正的在定义声明函数
立即执行之后,无法再次被正常的调用
4.解构数组语法
数组的解构语法
就是数组的另一种使用调用方法
可以不通过 []语法,不通过索引下标,来调用使用数组中的数据
用于将数组中的数据,一一对应的赋值给变量
对象解构
之前对象数据的调用,通过.语法或者[]语法,配合属性来调用操作数据
现在可以使用解构语法来调用操作数据