Js_objProvides 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 targetlet keys: Js.t(_) => array(string);keys obj returns an array of the keys of obj's own enumerable properties