9ki
2020-11-19 14:46:22 +08:00
```typescript
export declare function ref<T extends object>(value: T): T extends Ref ? T : Ref<UnwrapRef<T>>;
export declare function ref<T>(value: T): Ref<UnwrapRef<T>>;
export declare function ref<T = any>(): Ref<T | undefined>;
```
上面是 vue3 ref 的类型声明
如果你在 `tsconfig.json` 开启了 `strictNullChecks ` 则 ts 会区分 null 和 undefined,否则则不区分,而是当成 any 处理
所以:如果你没有开启,那么传了 null 则会匹配到
``` export declare function ref<T extends object>(value: T): T extends Ref ? T : Ref<UnwrapRef<T>>; ```
所以最终为 any