Obj
Provides functions for inspecting and manipulating native JavaScript objects
empty
RESCRIPT
let empty: unit => {..}
empty()
returns the empty object {}
assign
RESCRIPT
let 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
.
See MDN
Examples
RESCRIPT/* 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
RESCRIPT
let keys: {..} => array<string>
keys(obj)
returns an array
of the keys of obj
's own enumerable properties.