ES6 对象的解构赋值
发布时间:2020-12-16 04:21:20 所属栏目:百科 来源:网络整理
导读:对象是无序的,必须使用属性名去匹配 因此解构赋值时变量名必须与对象的属性名保持一致 const obj= { a: 1 ,b: 2 };let {a,b} =obj; ? ? ? 比较复杂的结构条件: !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" titledemo/title/headbodyscript cons
对象是无序的,必须使用属性名去匹配 因此解构赋值时变量名必须与对象的属性名保持一致 const obj={ a:1,b:2 }; let {a,b}=obj; ? ? ? 比较复杂的结构条件: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>demo</title> </head> <body> <script> const person={ name:"cyy""cyy2" },{ name:"cyy3""cyy4" }] }; const {name}=person;//name "cyy" const {age}=person;age 10 只能取到friend1,不能取到friends const {friends:[friend1]}=person;friend1 {name: "cyy2",age: 20} const {friends:[,friend2]}=person;friend2 {name: "cyy3",age: 30} const {friends:[,friend3]}=person;friend3 {name: "cyy4",age: 40} const {friends:[{name}]}=person;name "cyy2" const {friends:[,{age}]}=person;age 30 const {friends:[{name},{name},{name}]}=person; </script> </body> </html> 如果出现对象属性名重复的情况,会报错 ? ? ? 解决方法是使用: 来定义别名 const {friends:[{name:fname1},{name:fname2},{name:fname3}]}=person; "cyy2"
? ? ? 对象的解构赋值结合扩展运算符: const obj=1
}
const {name,...oth}=obj;
? ? ? 使用扩展运算符合并对象: const obj1={ name1:"cyy1" } const obj2={ name2:"cyy2" } const obj3={ name3:"cyy3" } const obj= |