ES6简介
ECMAScript6,2015年6月正式发布,javascript下一代语言标准,能够开发复杂大型的程序,成为企业级语言。
let
用于变量声明。let声明的变量不能重复声明。let声明的变量不能提升变量。块状作用域(点击li弹出第n个)。使用let声明的变量不属于顶层对象。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button>item1</button>
<button>item2</button>
<button>item3</button>
<button>item4</button>
<button>item5</button>
</body>
<script>
var buts = document.querySelectorAll("button");
for (let i=0;i<buts.length;i++){
buts[i].onclick = function(){
console.log(i);
}
}
</script>
</html>
const
用于声明常量。声明常量用大写(不是规则,是一种默契)。常量不能修改。块状作用域。使用const声明的常量也不属于顶层对象。
变量的解构赋值
数组的解构赋值
var [a,b,c] = [1,2,3];
console.log(a,b,c)
//打印结果为1 2 3
对象的解构赋值
let {bar,foo} = {bar:'lili',foo:100}
console.log(bar,foo);
//打印出lili 100
//完整的写法
let {bar:bar,foo:foo} = {bar:'lili',foo:100}
console.log(bar,foo);
特殊对象的解构赋值
let [a,b,c] = 'var';
console.log(a,b,c)
//打印 v a r
实际应用
//交换两个变量的值
let a = 100;
let b = 200;
[a,b] = [b,a];
//提取json中的数据
let jsonData = {
id:1,
status:'okok',
data:[1,2,3,4,5]
}
let {id,status,data} = jsonData;