es6学习笔记解构

http://es6.ruanyifeng.com/#docs/destructuring 详细内容见ES6详解,以下为笔记

数组解构

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

左边基本数据结构与右边相同,数据量可以不完全相同,按顺序赋值

变量赋值优先级为 右边为null > 右边有值(不为undefined)>默认值 >表达式赋值/其他变量赋值

let [a=1]=[null];       a=null

let [a=1]=[2];          a=2

function foo(){

return ='foo'

}

let [a=foo()]=[2] a=2

let [a=1,b=a]=[1,2]   a=1,b=2


对象的解构

对象的解构与数组结构的最大不同点在于,对象的解构通过键名进行赋值

let {x1:x,y1:y}={x1:1,y1:2}

x1,y1是赋值模式

被赋值的变量是X 和 Y

x=1 ,y=2

简写 let{x,y}={x:1,y:2}


字符串解构

与数组解构相同,将字符串拆分为数组进行赋值

let [a,b,c,d,e]='hello',

相当于 let[a,b,c,d,e]=['h','e','l','l','o']

猜你喜欢

转载自blog.csdn.net/weixin_40792646/article/details/78912395