javascript - 使用默认解构值javascript的对象解构

标签 javascript object ecmascript-6

我正在寻找一种简洁高效的方法来实现以下目标:

data中是否存在属性,如果存在于overriders中则覆盖它

fn(data = {}, overriders = {}) {

  data = {property: 2};

  let { property = data.property } = overriders;
  console.log(property); // = 2
}

可以正常使用

有没有更好的方法?我希望是这样的:

fn(data = {}, overriders = {}) {

  data = {property: 2};
  overriders = {property: 9}

  let { property } = data || overriders;
  console.log(property); // = 9
}

(我知道它类似于 fallback 但我一直在寻找语法上接近它的东西)

最佳答案

function fn(data = {property: 2}, overriders = {property: 9}) {
  let { property } = {...data, ...overriders};
  console.log(property); // = 9
}

fn();

关于javascript - 使用默认解构值javascript的对象解构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54133170/

相关文章:

c# - 以对象为值的字典

javascript - 注销后禁用后退按钮

javascript - 为少量客户端实现服务器端推送

javascript - ng 类表达式 : merge condition and class name

java - 需要数组,但 java.lang.String 发现 Java 类数组错误

java - 接口(interface)和继承如何影响Java中类和对象之间的关系?

javascript - 第三方库正在绑定(bind)回调,但我需要访问类属性

javascript - ES6类中成员变量的声明

javascript - 插入标记而不丢失 jQuery Mobile 样式

javascript - 简化质量对象属性的分配