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、箭头函数不能当构造函数