¿Hay algo como esto en JavaScript? Básicamente, estoy buscando algo a lo largo de estas líneas:
let obj_a = {test: "one", property: "two"}; let obj_b = {test: "1", other: "three"}; let obj_b ...= obj_a; // would be the equivalent of obj_b = {...obj_b, ...obj_a}¿Existe una sintaxis integrada para algo así, o es lo mejor que obtendré en ES6?
Object.assign haría.
let obj_a = { test: "one", property: "two" }, obj_b = { test: "1", other: "three" }; Object.assign(obj_b, obj_a); console.log(obj_b);No creo que exista tal sintaxis, pero si necesita usar mucho algo así, podría parchear la clase Object con una función de utilidad para ello:
Object.prototype.merge = function(x) { Object.assign(this, x) } let obj_a = {test: "one", property: "two"}; obj_a.merge({test: "1", other: "three"}); console.log(obj_a);Otra opción es usar Object.assign , no es un operador, pero hace el trabajo:
Object.assign(obj_b, obj_a) // {test: 'one', other: 'three', property: 'two'}https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign