各位靓仔靓女,晚上好! 我是你们的老朋友,今天咱们不聊妹子,专门来盘一盘Vue 3源码里一个看着不起眼,但实际上挺重要的函数:toRaw。 保证让大家听完之后,感觉自己又行了! 开场白:Proxy的爱与恨 话说Vue 3全面拥抱了Proxy,这玩意儿就像一把双刃剑。一方面,它让我们的数据响应式系统变得更加灵活高效,想拦截啥就拦截啥,简直不要太爽。另一方面,我们也得小心翼翼,因为Proxy代理过的对象,已经不是原来的那个对象了。 想象一下,你精心打扮了一番,化了个精致的妆,但本质上你还是你,只是被一层“代理”给修饰了。这时候,如果有人想看到你最原始的样子,怎么办?那就要用到我们的主角:toRaw! toRaw:揭开Proxy的伪装 toRaw 的作用很简单,就是返回一个Proxy 代理对象的原始对象(raw object)。 就像卸妆水一样,抹一抹,还原你本来的面貌。 先来个简单的例子: const original = { name: ‘张三’, age: 18 }; const proxyObj = new Proxy(original, {}); // 搞个Proxy代理一下 co …
继续阅读“Vue 3源码极客之:`Vue`的`toRaw`:它如何获取`Proxy`代理的原始对象,以及它的性能开销。”