Js_obj
Provides functions for inspecting and maniplating native JavaScript objects
let empty: unit => Js.t({.. });
empty ()
returns the empty object \{\}
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
(* Copy an object *)
let obj = [%obj { a = 1 }]
let copy = Js.Obj.assign (Js.Obj.empty ()) obj
(* prints "{ a: 1 }" *)
let _ = 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 }" *)
let _ = Js.log obj
(* prints "{ a: 1, b: 2 }", target is modified *)
let _ = Js.log target
let keys: Js.t(_) => array(string);
keys obj
returns an array of the keys of obj
's own enumerable properties