Immutable Factory Objects
by jzumbrun
JavaScript
function speak(){
return {
greeting : {
nice: {
english: 'Hello'
}
}
}
}
var a = speak()
alert(a.greeting.nice.english)
// Add the German nice greeting
a.greeting.nice.german = 'Guten Tag'
alert(a.greeting.nice.german)
// Make a new "copy"
var b = speak()
alert(b.greeting.nice.english)
alert(b.greeting.nice.german)
// German is undefined