Obj
Provide utilities for Js.t.
let empty: unit => Js.t({..});
empty()
returns the empty object {}
.
let assign: (Js.t({..}), Js.t({..})) => Js.t({..});
assign(target, source)
copies properties from source to target.
Properties in target
will be overwritten by properties in source
if they have the same key.
Returns target
.
RE/* Copy an object */
let obj = [%obj {a: 1}];
let copy = Js.Obj.assign(Js.Obj.empty(), obj);
/* prints "{ a: 1 }" */
Js.log(copy);
/* Merge objects with same properties */
let target = [%obj {a: 1, b: 1}];
let source = [%obj {b: 2}];
let obj = Js.Obj.assign(target, source);
/* prints "{ a: 1, b: 2 }" */
Js.log(obj);
/* prints "{ a: 1, b: 2 }", target is modified */
Js.log(target);
let keys: Js.t('a) => array(string);
keys(obj)
returns an array
of the keys of obj
's own enumerable properties.