You are currently looking at the v8.2 - v9.0 docs (Reason v3.6 syntax edition). You can find the latest API docs here.
Obj
Provide utilities for Js.t.
empty
RESlet empty: unit => {..}
empty()
returns the empty object {}
.
assign
RESlet assign: ({..}, {..}) => {..}
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
.
RES/* Copy an object */
let 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 = {"a": 1, "b": 1}
let source = {"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)
keys
RESlet keys: Js.t<'a> => array<string>
keys(obj)
returns an array
of the keys of obj
's own enumerable properties.