老师,关于isRef()的定义,我有个疑问
export function isRef(r:any) :r is Ref{
return !!(r && r.__v_isRef === true)
}
为什么第一行要加“r is Ref”?我查百度说“is”的作用是在编译期限制r的类型为Ref,但Ref的定义是一个接口:
export interface Ref<T = any>{
value:T
}
这个接口里并没有__v_isRef成员, 既然如此,那么“r is Ref”到底意义何在?
(我试着把它去掉,貌似测试程序packages\vue\examples\reactivity\ref.html也能正常运行)