Demos from this session available at:
Andrew MacKenzie
Free Beer Evangelist
var foo = 3;
var bar = foo;
bar += 4;
console.log(foo); // 3
console.log(bar); // 7var foo = {name: "Fred", age: 25};
var bar = foo;
bar.age = 26;
console.log(foo); // {name: "Fred", age: 26}
console.log(bar); // {name: "Fred", age: 26}Immutable = Certainty
Caching and Performance
Easy to implement undo/redo in the app
0
1
2
3
mod 1
mod 2
mod3
original
[
]
Active state
History Stack
Mori -
http://swannodette.github.io/mori/
Seamless-Immutable -
https://github.com/rtfeldman/seamless-immutable
Immutable JS -
http://facebook.github.io/immutable-js/
var blogPost = Immutable.fromJS({
author: "Andrew MacKenzie",
published: true,
publishDate: "2015-05-15",
contents: "The original blog post text. ",
tags: ["general crap"]
});newBlogPost = stack[stackIndex].set('tags', stack[stackIndex].get('tags').push(newTag));