对于解构赋值和分步赋值的取舍

如果需要解构的对象层级较深,而且此对象可能出现为{}的情况,那么哪种写法比较好呢?
1.

 try {
     var { itemData: {
         couponName, agentName, logo, pid, status, statusText 
         },
         requestKey
     } = this.props || {};
 } catch (error) {
     couponName = null;
     agentName = null;
     logo = null;
     pid = null;
     status = null;
     statusText = null;
 }

2.

var { couponName, agentName, logo, pid, status, statusText } = this.props.itemData || {};
        var { requestKey } = this.props || {};

有人说第二种写法不方便增加属性时继续解构,但是第一种写法,要catch的太多了,看着不太好,少的话还好,不知道该怎么写合适一些### 问题描述

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 1.2k
1 个回答

第一种,但是不需要try...catch.

const { itemData: {
          couponName, agentName, logo, pid, status, statusText 
         } = {},
         requestKey
     } = this.props || {};

既然使用了ES6及其更高版本的语法,就不要再使用 var了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题