hasOwnProperty check is not necessary.
the advice in Crockford's little javascript book only made sense in a time when it was more common place for people to do really silly things, like add enumerable properties to the global Object object, so it was necessary to be paranoid-level defensive at the expense of code readability. In our codebase, we know that these things aren't happening, so we should prefer readability.