javascript - 获取具有默认值的深度嵌套值的最佳方法

标签 javascript ecmascript-6 javascript-objects

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

目前我正在使用下面的代码来获取 check_ab 的存储桶值,并且我将其设置为 A 的默认值,这妨碍了可读性

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

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

最佳答案

也许可以用多行来解构它。在我看来,这不是更短,而是更易读:

  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";
 }

关于javascript - 获取具有默认值的深度嵌套值的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49552359/

相关文章:

javascript - 用javascript中的函数交换对象的两个属性

javascript - 移动节点后,从 prevRef 到 newRef 如何更新 Firebase 内的特定数据?

javascript - 使用同级对象的值对嵌套对象赋值

javascript - 从 Angular 中的 @Input 更新 ngOnChanges View

javascript - 使用 jQuery 删除动态创建的元素上的 mouseenter 事件

javascript - OOP Javascript Pong 游戏中的上下文位于何处?

javascript - ES2015 类阻止设置原型(prototype)

javascript - 按 id 过滤对象并找到最高分

javascript - 如何中止获取请求?

javascript - typescript : Check if object exist in array by value