Spent some time today figuring this one. I got too used to perl auto-vivifying objects (or hashes – same thing in Perl5).
Look at this code (or better yet, execute it in a debugger, step by step).
var a = new Object;
var b = new Object;
a['b'] = b;
b['c'] = 'c';
a['b'] = JSON.stringify(b);
I know, of course that some languages are more strongly typed than others. But I never thought that I would find a case where it straight up ignored an assignment, without generating an error.