title: Make required property accept null, but not undefined with Vue.js
body: <p>I'd like to accept objects and null (<a href="https://github.com/vuejs/vue/blob/83ea0da4b0d39ea97dab8059a7442610f116e4b5/src/shared/util.js#L41" rel="noreferrer">Vue.js checks for null values</a> for objects, even though <code>typeof null === 'object'</code>) in one of my components, but I want to make the validation fail for <code>undefined</code> values.</p>
  
  <p>What I have tried (using <a href="https://github.com/kaorun343/vue-property-decorator" rel="noreferrer"><code>vue-property-decorator</code></a>)</p>
  
  <pre><code>@Prop({ required: true, type: Object, validator: v =&gt; typeof v === 'object' })
  @Prop({ required: true, validator: v =&gt; typeof v === 'object' })
  // I got an error:
  //&gt; Expected Object, got Null.
  
  @Prop({ validator: v =&gt; typeof v === 'object' })
  // Let's undefined through, so when I don't specify the prop, I get no warnings
  // making the validator useless for my purposes
  </code></pre>
  
  <p>How can I accept objects (including <code>null</code>) as a property while making sure that the developer using my component receives a warning if the value is <code>undefined</code> (which happens when the prop is omitted)?</p>