本文主要是介绍记录Object.defineProperty使用以及Proxy的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.Object.defineProperty
使用:
// 本体
const obj1 = {a: 1,b: 2,c: 3,
};// 通过代理对象 来监听本体修改
const definePropertyObj = {};
// 使用Object.defineProperty监听对象
for (const key in obj1) {Object.defineProperty(definePropertyObj, key, {get() {console.log("get", key);return obj1[key];},set(value) {console.log("set", key, value);obj1[key] = value;},});
}// 获取
definePropertyObj.a
// 修改
definePropertyObj.a = 100
2.Proxy
使用:
// 本体
const obj1 = {a: 1,b: 2,c: 3,
};const proxyObj = new Proxy(obj1,{get(target, key) {console.log("target -->>", target);console.log("key -->>", key);return target[key];},set(target, key, value) {console.log("target -->>", target);console.log("key -->>", key);console.log("value -->>", value);target[key] = value;},}
);
// 获取
obj1.a
// 修改
obj1.a = 100
这篇关于记录Object.defineProperty使用以及Proxy的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!