Skip to content

Instantly share code, notes, and snippets.

@selvagsz
Last active May 24, 2017 15:15
Show Gist options
  • Save selvagsz/8296e15d11ae7a6f4505e0d24084cc00 to your computer and use it in GitHub Desktop.
Save selvagsz/8296e15d11ae7a6f4505e0d24084cc00 to your computer and use it in GitHub Desktop.
Immutable <==> JS

Object <==> Map

Creation

// js
let foo = {}

// Immutablejs
let bar = Map()

Set Property

// js
foo.name = 'react'

// Immutablejs
bar.set('name', 'react')

Deep Set

// js
foo.level1 = {
  level2: {
    level3: 'hello from level3'
  }
}

// Immutablejs
bar.setIn(['level1', 'level2', 'level3'], 'hello from level3')

Get Property

// js
foo.name

// Immutablejs
bar.get('name')

Deep Get

// js
foo.level1.level2.level3

// Immutablejs
bar.getIn(['level1', 'level2', 'level3'])

Delete Property

// js
delete foo.name

// Immutablejs
bar.remove('name')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment