ES6之(let、const、解构赋值、字符串、箭头函数、剩余参数)

ES6环境:

webpack3.x,Traceur


变量声明let、const:

之前:var a= 10

作用域:

    全局,函数作用域

例子:

全局作用域
函数作用域

let 相当于之前的var,变量声明

const 常量,定义好了不能改变

作用域:

    块级作用域{}

let不存在变量提升
在同一个块内不能重复定义变量
for循环,父级作用域
函数中,并不存在父级作用域,报错
对象是一个引用关系
拓展:冻结对象,不可拓展

注意:

    1、没有预解析,不存在变量提升。即在代码块内,只要let定义变量,在之前使用,都会报错。  

    2、不可以重复定义变量。

    3、for循环,for循环里面是父级作用域。

    4、const变量不可以修改。

var与let区别
解决for循环问题

解构赋值:

在使用ajax交互时,十分实用。

简单案例:

简单的解构赋值案例

json格式数据需要注意:左右两边格式要保持一致

json格式数据的解构赋值

可以给定默认值:

给定默认值
给定默认值

注意:问题一

作用域问题,需要立即执行

交换两个数的值:

交换两个数的值
封装到函数中
函数传参

字符串模板以及字符串新增

字符串模板:

    `${}`,可以随意换行

字符串模板

字符串新增方法:

includes():字符串查找,返回true或false

includes()方法

举个栗子:

查询用户使用的浏览器是否为Chrome

startsWith():判断字符串以谁开头,返回true或false

endsWith():判断字符串以谁结尾,返回true或false

startsWith()、endsWith()

repeat(次数):重复字符串

repeat()

padStart(整个字符串的长度,填充的字符串):填充字符串,开头

padEnd(整个字符串的长度,填充的字符串):填充字符串,结尾

padStart()、padEnd()

函数默认参数、箭头函数、剩余参数

默认参数:

结合解构赋值

扩展运算符、reset运算符: ...

    扩展数组

重置数组
展开数组
剩余参数
复制数组

箭头函数:=>

返回最大值
将参数从小到大排列
this问题 :定义函数所在的对象,不在是运行时所在的对象  
箭头函数不可当构造函数
构造函数

注意:

    1、this问题,定义函数所在的对象,不在是运行时所在的对象。

    2、箭头函数中,不存在arguments,使用...

    3、箭头函数不能当构造函数

你可能感兴趣的:(ES6之(let、const、解构赋值、字符串、箭头函数、剩余参数))