Quick Links
  • -Overview
  • -Language Features
  • -JS Interop
  • -Build System
Documentation
Language Manual
Reference for all language features
ReScript & React
First class bindings for ReactJS
GenType
Seamless TypeScript integration
Reanalyze
Dead Code & Termination analysis
Exploration
Packages
Explore third party libraries and bindings
Syntax Lookup
Discover all syntax constructs
APIPlaygroundBlogCommunity
  • Playground
  • Blog
  • Community
  • X
  • Bluesky
  • GitHub
  • Forum
JS Module
Overview
  • JS
Submodules
  • Array2
  • Array
  • Console
  • Date
  • Dict
  • Exn
  • Float
  • Global
  • Int
  • Json
  • List
  • Math
  • NullUndefined
  • Null
  • Nullable
  • Obj
    • assign
    • empty
    • keys
  • Option
  • Promise
  • Re
  • Result
  • String2
  • String
  • TypedArrayArrayBuffer
  • TypedArrayDataView
  • TypedArrayFloat32Array
  • TypedArrayFloat64Array
  • TypedArrayInt8Array
  • TypedArrayInt16Array
  • TypedArrayInt32Array
  • TypedArrayTypeS
  • TypedArrayUint8Array
  • TypedArrayUint8ClampedArray
  • TypedArrayUint16Array
  • TypedArrayUint32Array
  • TypedArray2ArrayBuffer
  • TypedArray2DataView
  • TypedArray2Float32Array
  • TypedArray2Float64Array
  • TypedArray2Int8Array
  • TypedArray2Int16Array
  • TypedArray2Int32Array
  • TypedArray2Uint8Array
  • TypedArray2Uint8ClampedArray
  • TypedArray2Uint16Array
  • TypedArray2Uint32Array
  • TypedArray2
  • TypedArray
  • Types
  • Undefined
  • Vector
API / Js / Obj

Obj

Provide utilities for Js.t.

empty

RES
let empty: unit => {..}

empty() returns the empty object {}.

assign

RES
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.

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

RES
let keys: {..} => array<string>

keys(obj) returns an array of the keys of obj's own enumerable properties.

© 2025 The ReScript Project

Software and assets distribution powered by KeyCDN.

About
  • Community
  • ReScript Association
Find us on