target[key] is only overridden if the current value is undefined. In the case of defaults they will never be overridden as they are never undefined.
value || target[key] would be more effective, otherwise value could be undefined and will override previous values.
Merge pull request #3 from cajones/hotfix/defaults-never-overridden

target[key] is only overridden if the current value is undefined.