目录
一、全称:ECMAScript6
1、2015年6月正式发布
2、javascript下一代语言标准
3、能够开发复杂大型的程序
4、成为企业级的语言
二、let:用于声明变量
1、let声明的变量不能重复声明
2、let声明的变量不能变量提升
3、块状作用域 (eg:点击li弹出第n个)
4、使用let声明的变量不属于顶层对象
三、var:用于声明变量
1、var声明的变量可以重复声明
2、var声明的变量可以变量提升
3、函数作用域
4、使用var声明的变量属于顶层对象
四、const:用于声明常量
1、声明变量用大写
2、常量不能修改
3、块状作用域
4、使用const声明的变量也不属于顶层对象
五、变量的解构赋值
1、数组的解构赋值
var [a,b,c] = [1,2,3]; console.log(a,b,c);
运行结果:
注意:此处可以给变量添加默认值:a=1
2、对象的解构赋值
let {bar,foo} = {bar:"lili",foo:100}; console.log(bar,foo);
(1)完整版本:
let {bar:bar,foo:foo} = {bar:"lili",foo:100}; console.log(bar,foo);
运行结果:
(2)复杂对象:
let obj = { p: ["hello", { y: "world"}] } console.log(obj); //目标获取
运行结果:
3、特殊对象
(1)字符串做数组
//字符串做数组 let [a,b,c] = "var"; console.log(a,b,c);
运行结果:
(2)字符串做对象
//字符串做对象 let {length:len} = "function"; console.log(len);
运行结果:
(3)Math的应用
//Math的应用 let {PI :p} = Math; console.log(p);
运行结果:
4、实际应用
(1)交换2个变量的值
//交换2个变量的值 let a = 100; let b = 200; [a, b] = [b, a]; console.log(a,b);
运行结果:
(2)提取json的数据
//提取json中的数据 let jsonData = { id: 1, status: "okokok", data: [1, 2, 3, 4, 5] } let { id, status, data } = jsonData; console.log(jsonData);
运行结果:
(3)用于函数参数默认值
//用于函数参数默认值 function fn({id,name = "张三"}){ console.log(id,name); } fn({id:4})
运行结果: