[调用缺少的对象属性时出现JavaScript打印错误

问题描述 投票:0回答:1

我想编写一个代理对象来在未找到原始对象中调用某些属性时自动打印错误。

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')来打电话吗?

javascript javascript-objects
1个回答
0
投票

使用typeof:

var obj = {
name: "waldo",
age: 22
}

if(typeof obj.year === 'undefined') {
   console.log("That is not defined");
}
© www.soinside.com 2019 - 2024. All rights reserved.