Actually, why do you think this is the correct behavior ? If you don't wanna override the value, you should not set it (you can do `delete obj.key`).

I just double checked this behavior with underscore and lodash and they both implement it the way (undefined DOES override), so I say, let's remove this commit.