我想编写一个代理对象来在未找到原始对象中调用某些属性时自动打印错误。
const proxyObjectFn = () => {
const _obj = Object.assign({}, originalObject);
const get = (key) => {
const value = _obj[key];
if (value === undefined) {
console.error(`${key} not found`);
}
return value;
};
return {
get,
};
};
const proxyObject = proxyObjectFn();
export default proxyObject;
// caller
proxyObject.get('someProperty')
这可行,但是有什么优雅的方法可以让我通过proxyObject.someProperty
而不是proxyObject.get('someProperty')
来打电话吗?
使用typeof:
var obj = {
name: "waldo",
age: 22
}
if(typeof obj.year === 'undefined') {
console.log("That is not defined");
}