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
  • 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

You are currently looking at the v6.0 - v8.2 docs (Reason v3.6 syntax edition). You can find the latest API docs here.

(These docs cover all versions between v3 to v8 and are equivalent to the old BuckleScript docs before the rebrand)

Obj

Provide utilities for Js.t.

empty

RE
let empty: unit => Js.t({..});

empty() returns the empty object {}.

assign

RE
let assign: (Js.t({..}), Js.t({..})) => Js.t({..});

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.

RE
/* Copy an object */ let obj = [%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 = [%obj {a: 1, b: 1}]; let source = [%obj {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

RE
let keys: Js.t('a) => array(string);

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

© 2024 The ReScript Project

Software and assets distribution powered by KeyCDN.

About
  • Community
  • ReScript Association
Find us on