博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
es6解构赋值--对象
阅读量:6080 次
发布时间:2019-06-20

本文共 1149 字,大约阅读时间需要 3 分钟。

hot3.png

/** * 对象 的解构赋值 */ //对象的属性没有次序,变量必须与属性同名,才能取到正确的值 //对象的解构赋值的机制是,先找同名属性, 然后再赋值给对应的变量 {   let {age, name} = {name: 'jordan', age: 12}   console.log(name, age) // jordan  12 } // 变量名和属性名不一致 {   let {foo: name, foz: age} = {foo: 'jordan', foz: 23}   console.log(name, age) // jordan  23  这里foo和foz是匹配的模式, name和age才是变量 } // 对象解构赋值的嵌套 {   let obj = {     name: 'jordan',     children: {       name: 'lee',       age: 12     }   }   let {name: parentName, children, children: {name: childName, age}} = obj;   console.log(parentName, children, childName, age) // jordan   {childName: 'lee', age: 12}    lee    12   // 注意什么是匹配的模式,什么是变量(变量的名字可以随意取, 匹配的模式必须与解构的对象属性名对应) } // 对象解构的默认值, 和数组一样,当对象的属性严格等于undefined时, 才会使用默认值 {   let {name ='jordan', age = 12} = {}   console.log(name, age)   let {message: msg = 'this is the message.'} = {}   console.log(msg) // this is the message. (msg才是变量, messsage是匹配的模式)   let {foo} = {name: 'jordan'}   console.log(foo) // undefined } // 需要注意的是, 如果要使用一个先声明的变量进行解构赋值,要放在  () 里面,避免大括号在行首被当成代码块 {   let x;   ({x} = {x: 'jordan'});  //  {x} = {x: 'jordan'} 会报错   console.log(x) }

 

转载于:https://my.oschina.net/u/3229305/blog/2992768

你可能感兴趣的文章
想说一点东西。。。。
查看>>
css知多少(8)——float上篇
查看>>
NLB网路负载均衡管理器详解
查看>>
水平添加滚动条
查看>>
PHP中”单例模式“实例讲解
查看>>
VS2008查看dll导出函数
查看>>
VM EBS R12迁移,启动APTier . AutoConfig错误
查看>>
atitit.细节决定成败的适合情形与缺点
查看>>
Mysql利用binlog恢复数据
查看>>
我的友情链接
查看>>
用yum安装mariadb
查看>>
一点IT"边缘化"的人的思考
查看>>
WPF 降低.net framework到4.0
查看>>
搭建一个通用的脚手架
查看>>
开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
查看>>
开源磁盘加密软件VeraCrypt教程
查看>>
本地vs云:大数据厮杀的最终幸存者会是谁?
查看>>
阿里云公共镜像、自定义镜像、共享镜像和镜像市场的区别 ...
查看>>
shadowtunnel v1.7 发布:新增上级负载均衡支持独立密码
查看>>
Java线程:什么是线程
查看>>