【问题标题】:Best way to get Deeply nested values with defaults [duplicate]使用默认值获取深度嵌套值的最佳方法 [重复]
【发布时间】:2018-03-29 09:22:31
【问题描述】:

获得深度嵌套默认值的最佳方法是什么。

目前我正在使用下面的代码来获取 check_ab 的存储桶值,并且我看到它是 A 的默认值,这妨碍了可读性

 settings: { experiments: { check_ab: { bucket: abvalue = 'A' } = {} } = {} } = {},

如何清楚地提取和设置安全默认值

【问题讨论】:

    标签: javascript ecmascript-6 javascript-objects


    【解决方案1】:

    也许在多行中解构它。那不是更短,而是更易读的imo:

      function set(settings = {}) {
         const { experiments = {} } = settings:
         const { check_ab = {} } = experiments;
         const abvalue = check_ab.bucket || "A";
     }
    

    在进一步的 js 版本中,您可以这样做:

     function set(settings) {
      const abvalue = settings?.experiments?.check_ab?.bucket || "A";
     }
    

    【讨论】:

    • 你的第一个选项很清楚,但是想要一行或 2 行,下面的选项可能会在未来的 js 版本中被允许,所以暂时不能使用它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    • 2020-01-05
    • 2020-10-04
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多