文章预览
Proxy无法直接监听基本数据类型(如字符串、数字、布尔值等),因为它们是不可变的。Proxy只能在对象级别上进行操作,而不是基本数据类型。 当我们尝试使用Proxy包装基本数据类型时,会得到一个TypeError错误,因为基本数据类型不具有属性和方法。 const value = 'Hello' ; const handler = { set (target, property, value ) { console.log(`Setting property '${property}' to '${value}' `); target[property] = value ; return true ; } }; const proxyValue = new Proxy( value , handler); // TypeError: Cannot create proxy with a non-object as target 我们无法直接追踪对上述示例中 value 局部变量的读写,原生 JavaScript 没有提供任何机制能做到这一点。但是,我们是可以追踪对象属性的读写的。 如果要监听基本数据类型的更改,最好使用其他方式,例如通过触发事件或调用回调函数来通知更改。可以
………………………………