当前位置: 首页 > 知识库问答 >
问题:

javascript - es析构多层解析获取不到中间层的对象?

澹台俊达
2024-08-29
const obj = {
    person: {

    }
}


const {person: {name = '', age} = {}} = obj;

// 此处获取不到person对象
console.log(person, '-----------')

如上图所示,我想同时获取到person对象,要怎么做呢?

在线调试

共有2个答案

龙俊美
2024-08-29

多写一行。

使用语言要按照语法规则来写,这是很自然的事情。

令狐钧
2024-08-29
const obj = {
    person: {
      name: '44',
      age: 18
    }
};

// 一行解构
const { person,person: { name, age } } = obj;
console.log(person, name, age) 
// {name: '44', age: 18} '44' 18

符合题意

const obj = {
    person: {}
};

// 一行解构
const {person = {}, person: {name = '', age} = {}} = obj;
console.log(person, name, age)
// {} '' undefined
 类似资料:
  • 问题内容: 我有以下对象: 我想检索以下结果: abc [1] abc [2] abc [3] abc [4] abc.count abc.counter.count abc [5] abc [5] .test abc [5] .tester abc [5] .tester.name 可以在插件的帮助下使用nodejs吗? 问题答案: 您可以通过递归遍历对象来做到这一点: 在问题中的对象上运行将返

  • 主要内容:一、写在前面,二、ReentrantLock和AQS的关系,三、ReentrantLock加锁和释放锁的底层原理,四、总结一、写在前面 上一篇文章聊了一下java并发中常用的原子类的原理和Java 8的优化,具体请参见文章:《为什么程序员招聘都要5年经验起?因为他们懂Java8底层优化!》。 这篇文章,我们来聊聊面试的时候比较有杀伤力的一个问题:聊聊你对AQS的理解? 之前有同学反馈,去互联网公司面试,面试官聊到并发时就问到了这个问题。当时那位同学内心估计受到了一万点伤害。。。 因为首

  • 比如有对象 我只能按照顺序拿到数组['a', 'b', 'c', 'd', 'f'] 如果想给f赋值, 只能 如果想要写上面这个表达式的通用函数,要怎么写。

  • 本文向大家介绍thinkphp多层MVC用法分析,包括了thinkphp多层MVC用法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkphp多层MVC用法。分享给大家供大家参考,具体如下: ThinkPHP支持多层设计。 1.模型层Model 使用多层目录结构和命名规范来设计多层的model,例如在项目设计中如果需要区分数据层,逻辑层,服务层等不同的模型层可以在模块目录下创建

  • 让我们考虑一个使用DB加载地图的用例。 即使我使用Hibernate,我的用例也不需要加载整个庞大的学生实体。我只需要上面的两个值。 当我使用Hibernate执行纯sql查询时,响应的格式是List。 这是我的问题。 Q) 该原始结果集的解析应该在DAO层还是服务层进行? 我的观点是,由于我没有执行任何业务逻辑(比如过滤这些学生中的一个),DAO层中的方法本身应该解析这些结果,构建映射,并返回这

  • 本文向大家介绍浅析.NET逻辑分层架构,包括了浅析.NET逻辑分层架构的使用技巧和注意事项,需要的朋友参考一下 一.基础知识准备:   1.层的原则:   (1)每一层以接口方式供上层调用。   (2)上层只能调用下层。   (3)依赖分为松散交互和严格交互两种。   2.业务逻辑分类:   (1)应用逻辑。   (2)领域逻辑。   3.采用的层:   (1)表示层(用户接口层):领域无关。  

  • 主要内容:1.上帝视角,2.disctEntry,3.redisObject,4.string的type和3大编码转换,5.Redis底层的数据结构Redis为kv的,而Redis底层又是由c语言写成的,一切皆字典dict,和java的一切皆对象Object Redis的key类型一般为字符串,value为redis类型RedisObject这里的kv称为dictEntry 相当与java中的Map<String, redisObject> bitmap底层为String类型,hyperlogl

  • 本文向大家介绍Java类加载器层次结构原理解析,包括了Java类加载器层次结构原理解析的使用技巧和注意事项,需要的朋友参考一下 类加载器的层次结构: 引导类加载器(bootstrap class loader)   用来加载java的核心库(JAVA_HOME/jre/lib/rt.jar,或sun.boot.class.path路径下的内容),是用原生代码来实现的(C实现的),并不继承自java