原始值指的是 Boolean、Number、String、Symbol、BigInt、Null 和 Undefined 等类型的值。在 JS 中,原始值是按值传递的,这意味着,如果一个函数接受原始值作为参数,那么形参和实参之间没有引用关系,它们是两个完全独立的值,对形参的修改不会影响实参。另外,JS 中的 Proxy 无法提供对原始值的代理,必须对其进行包装,才能实现对原始值的代理。
原始值
按值传递
形参
实参
包装
第二篇 响应系统
6.1 引入 ref 的概念
对于原始值,我们可以使用 ref 函数来创建一个包装对象,从而实现对原始值的响应式。
再为该包装对象添加属性 __v_isRef
用于区分普通对象和 ref 对象。
6.2 响应丢失的问题
对一个响应式对象做 ...
展开操作时,会丢失响应性。