【发布时间】:2019-09-03 02:34:32
【问题描述】:
我有这个功能。
function foo(newdata) {
utils.method('GET', '/auth', {
response: {
data: {
settings: {
last_email_notification_shown_date: new Date(),
email_notifications: null,
}
...newdata
}
}
});
}
但每次我想更新“设置”属性时,我都必须将其全部传递给数据:
foo(settings {
last_email_notification_shown_date: new Date(),
email_notifications: null,
SomeNewProperty: 'whatever'
})
有没有办法更新这个函数中的“设置”属性而不需要整个重写?我只想更新属性,而不是覆盖它。
【问题讨论】:
-
foo是否有权访问现有设置?另请注意,您的第二个代码块有一个语法错误,这使得您很难分辨出您真正在做什么。 -
(旁注:
...不是运算符,它是主要语法;它不能是运算符,因为它没有单一的结果值。实际上并不重要。 :-) 但是如果它是一个运算符,它不会在不同的情况下做不同的事情[传播与休息],你可以在任何地方使用它。但是您只能在定义了该语法的特定位置使用 spread 和 rest。)
标签: javascript function object ecmascript-6 spread-syntax