2009年12月,ECMAScript 5.0正式发布
2015年6月,ECMAScript 6(ES6)正式通过,成为国际标准,正式名称是“ECMAScript 2015”(简称ES2015)
变量声明
let
console.log(a); //报错了,let声明的变量不支持预解析
let a = 1;
let a = 1;
let a = 3;
console.log(a) //报错了,不可以重复的声明
{
let a = 1;
}
console.log(a); //报错了,有特定的作用域 a is not defined
const
const a = 3.14;
a=5;
console.log(a); //报错了,const不可以重复赋值
但是也存在个例
const obj = {}
obj.a = 1;
console.log(obj.a); //可以为其添加属性
//--对象结构
var obj = {
a : 1,
b : 2,
c : 3
}
var {b} = obj; //将声明一个变量b,b的值为obj.b的值,键名需要与变量名相同
console.log(b); //2
数组解构
var arr = 'abcd'.split('');
var [e,f,g,h] = arr;
console.log(e); //a
console.log(f); //b
console.log(g); //c
console.log(h); //d
对象解构
var obj = {
a : 1,
b : 2,
c : 3
}
var {a,...d} = obj;
console.log(a); //1
console.log(d); // {b:2,c:3}
数组 剩余模式
var arr = 'abcd'.split('');
var [e,...f] = arr;
console.log(e); //a
console.log(f); //['b','c','d']
对象改变键名,添加默认值
var obj = {
a : 1,
b : 2,
c : 3
}
var {a:A1} = obj; //改变键名
console.log(A1); //1
var obj = {
a : 1, //只有设置值为undefined情况下,才会走默认值,否则其为设置值
b : 2,
c : 3
}
var {a:A1=10} = obj; //改变键名的情况下,再添加默认值
console.log(A1); //1
var obj = {
a : undefined, //只有设置值为undefined情况下,才会走默认值,否则其为设置值
b : 2,
c : 3
}
var {a:A1=10} = obj; //改变键名的情况下,再添加默认值
console.log(A1); //10
console.log(a)
网友评论