[英]object deconstruction with default deconstructed value javascript
I'm looking for a concise and efficient way to achieve the following: 我正在寻找一种简洁有效的方法来实现以下目标:
Whether property exists in data
or not, override it if exists in overriders
无论属性是否存在于
data
,如果存在于overriders
,则覆盖它
fn(data = {}, overriders = {}) {
data = {property: 2};
let { property = data.property } = overriders;
console.log(property); // = 2
}
It works and it's quite alright 它很有效,而且很好
Is there a better way? 有没有更好的办法? I was hoping for something like this:
我希望这样的事情:
fn(data = {}, overriders = {}) {
data = {property: 2};
overriders = {property: 9}
let { property } = data || overriders;
console.log(property); // = 9
}
(I know it resembles fallback
but I was looking for something close to it syntaxwise) (我知道它类似于
fallback
但我正在寻找一些接近它的语法)
You can use object destructuring. 您可以使用对象解构。
function changeData( data = {}, overrides = {} ) {
return { ...overrides, ...data };
}
console.log( changeData( { property: 2 }, { property: 9, a: 1, b: 2 }) ) ;
function fn(data = {property: 2}, overriders = {property: 9}) { let { property } = {...data, ...overriders}; console.log(property); // = 9 } fn();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.