ES6基础语法

134 阅读1分钟

let:变量 不具备变量提升特性 const:常量(引用地址不可改变) 在声明时必须被赋值 let和const都是块级作用域 只在最靠近的一个块中(花括号内)有效

在es6中新增了模板字符串拼接:

var name='kingfan'; 
var age = 18; 
var msg = `我是${name},今年${age}岁`; 
console.log(msg) //打印 我是kingfan,今年18岁

ES6允许按照一定的模式,从数组或对象中提取值,对变量进行赋值,这种方式被称为解构赋值。

// 解构数组
var list =[1,2,3,4];
var [a,b,c,d] = list;
console.log(a);     //1
console.log(b);     //2 
console.log(c);     //3
console.log(d);     //4
​
​
//结构对象
var obj = {
    name:'kingfan'age:18,
}
​
// 利用key去接受
var {name,age}=obj;
console.log(name);  //'kingfan'
console.log(age);   //18// 利用其它变量名接收
var {name:pname,age:page}=obj;
console.log(pname);  //'kingfan'
console.log(page);   //18

当解构模式有匹配结果,且匹配结果是 undefined 时,会触发默认值作为返回结果。

let [a = 3, b = a] = []; // a = 3, b = 3 
let [a = 3, b = a] = [1]; // a = 1, b = 1 
let [a = 3, b = a] = [1, 2]; // a = 1, b = 2

a 与 b 匹配结果为 undefined ,触发默认值:a = 3; b = a =3 a 正常解构赋值,匹配结果:a = 1,b 匹配结果 undefined ,触发默认值:b = a =1 a 与 b 正常解构赋值,匹配结果:a = 1,b = 2