Js.ObjProvide utilities for Js.t
Provides functions for inspecting and maniplating native JavaScript objects
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 targetkeys obj returns an array of the keys of obj's own enumerable properties