title: What means '&' of statement 'export type T1 = object & ComponentOptions<T1, T2>' in Typescript?
body: <p>I new new to typescript, I'm try to reading source code of Vue, but confused the grammar, what means '&amp;' in following code, and any guys can tell me how find it the official documentation?</p>
  
  <pre class="lang-js prettyprint-override"><code>/**
   * This type should be used when an array of strings is used for a component's `props` value.
   */
  export type ThisTypedComponentOptionsWithArrayProps&lt;V extends Vue, Data, Methods, Computed, PropNames extends string&gt; =
    object &amp;
    ComponentOptions&lt;V, DataDef&lt;Data, Record&lt;PropNames, any&gt;, V&gt;, Methods, Computed, PropNames[], Record&lt;PropNames, any&gt;&gt; &amp;
    ThisType&lt;CombinedVueInstance&lt;V, Data, Methods, Computed, Readonly&lt;Record&lt;PropNames, any&gt;&gt;&gt;&gt;;
  </code></pre>