Repository: vuejs/vue
Pull request: fix ts types: use object and string instead of Object and String

<!--
Please make sure to read the Pull Request Guidelines:
https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#pull-request-guidelines
-->

<!-- PULL REQUEST TEMPLATE -->
<!-- (Update "[ ]" to "[x]" to check a box) -->

**What kind of change does this PR introduce?** (check at least one)

- [x] Bugfix
- [ ] Feature
- [ ] Code style update
- [ ] Refactor
- [ ] Build-related changes
- [ ] Other, please describe:

**Does this PR introduce a breaking change?** (check one)

- [ ] Yes
- [x] No

If yes, please describe the impact and migration path for existing applications:

**The PR fulfills these requirements:**

- [x] It's submitted to the `dev` branch for v2.x (or to a previous version branch), _not_ the `master` branch
- [x] When resolving a specific issue, it's referenced in the PR's title (e.g. `fix #xxx[,#xxx]`, where "xxx" is the issue number)
- [x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
- [x] New/updated tests are included

If adding a **new feature**, the PR's description includes:
- [ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

**Other information:**
For more information, please check https://www.typescriptlang.org/docs/handbook/declaration-files/do-s-and-don-ts.html#number-string-boolean-and-object

Changed files:
filename: types/options.d.ts
patch: @@ -58,12 +58,12 @@ export interface ComponentOptions<
   PropsDef=PropsDefinition<DefaultProps>> {
   data?: Data;
   props?: PropsDef;
-  propsData?: Object;
+  propsData?: object;
   computed?: Accessors<Computed>;
   methods?: Methods;
   watch?: Record<string, WatchOptionsWithHandler<any> | WatchHandler<any> | string>;
 
-  el?: Element | String;
+  el?: Element | string;
   template?: string;
   render?(createElement: CreateElement): VNode;
   renderError?: (h: () => VNode, err: Error) => VNode;
@@ -83,10 +83,10 @@ export interface ComponentOptions<
 
   directives?: { [key: string]: DirectiveFunction | DirectiveOptions };
   components?: { [key: string]: Component<any, any, any, any> | AsyncComponent<any, any, any, any> };
-  transitions?: { [key: string]: Object };
+  transitions?: { [key: string]: object };
   filters?: { [key: string]: Function };
 
-  provide?: Object | (() => Object);
+  provide?: object | (() => object);
   inject?: InjectOptions;
 
   model?: {

filename: types/vnode.d.ts
patch: @@ -27,8 +27,8 @@ export interface VNode {
 
 export interface VNodeComponentOptions {
   Ctor: typeof Vue;
-  propsData?: Object;
-  listeners?: Object;
+  propsData?: object;
+  listeners?: object;
   children?: VNodeChildren;
   tag?: string;
 }
@@ -42,14 +42,14 @@ export interface VNodeData {
   staticClass?: string;
   class?: any;
   staticStyle?: { [key: string]: any };
-  style?: Object[] | Object;
+  style?: object[] | object;
   props?: { [key: string]: any };
   attrs?: { [key: string]: any };
   domProps?: { [key: string]: any };
   hook?: { [key: string]: Function };
   on?: { [key: string]: Function | Function[] };
   nativeOn?: { [key: string]: Function | Function[] };
-  transition?: Object;
+  transition?: object;
   show?: boolean;
   inlineTemplate?: {
     render: Function;

filename: types/vue.d.ts
patch: @@ -37,7 +37,7 @@ export interface Vue {
   readonly $attrs: Record<string, string>;
   readonly $listeners: Record<string, Function | Function[]>;
 
-  $mount(elementOrSelector?: Element | String, hydrating?: boolean): this;
+  $mount(elementOrSelector?: Element | string, hydrating?: boolean): this;
   $forceUpdate(): void;
   $destroy(): void;
   $set: typeof Vue.set;
@@ -78,9 +78,9 @@ export interface VueConstructor<V extends Vue = Vue> {
 
   nextTick(callback: () => void, context?: any[]): void;
   nextTick(): Promise<void>
-  set<T>(object: Object, key: string, value: T): T;
+  set<T>(object: object, key: string, value: T): T;
   set<T>(array: T[], key: number, value: T): T;
-  delete(object: Object, key: string): void;
+  delete(object: object, key: string): void;
   delete<T>(array: T[], key: number): void;
 
   directive(