定义:ES6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。
数组的解构赋值
1.普通用法:
let [a,b,c]=[1,2]
//结果:a=1,b=2,c=undefined
2.嵌套数组:
let [foo,[[bar],baz]]=[1,[[2],3]];
//结果:foo=1,bar=2,baz=3
3.赋予默认值:
let [a,b,c='默认值'] = [1,2]
4.let [,,third]=["foo","bar","baz"];
//结果:third = "baz"
let [x,,y]=[1,2,3]
//结果:x=1,y=3
let [head,...tail]=[1,2,3,4];
//结果:head = 1,tail=[2,3,4]
let [x,y,...'z']=['a']
//结果:x='a',y=undefined,z=[]
1.如果结构不成功,变量的值就等于undefined
2.只有当一个数组成员严格等于undefined,默认值才会生效
对象的解构赋值
let {miao,ketang}={miao:1,ketang:2}
let {miao=100,ketang}={ketang:2}默认值
let {miao:leo,ketang}={ketang:2}别名
var miaov ={
fn:function(){},
add:function(){alert('111')},
isFunction:function(){}
}
let {fn,add,isFunction,isArray=function(){}}= miaov;
cosnole.log(fn);
·字符串的解构赋值
var [a,b,c] = 'hello';
·函数参数的解构赋值
function fn({a,b,c,d='get'}){
console.log(a);
console.log(b);
console.log(c);
console.log(d);
}
fn({a:1,b:2,c:3})
模板字符串
定义:模板字符串是增强版的字符串,用反引号标识。在占位符${}中写入表达式
var miaov = 'ketang';
let str=`<ul>
<li>${miaov}</li>
<li>${1+1}</li>
<li>${true?1:2}</li>
</ul>`