大家:
众所周知,从Object获取一个不存在的值将得到一个“未定义”,有没有办法抛出错误而不是返回undefined
?
例如:
var a= {example:"example"};
//do something here
a.b //error throw instead of "undefined"
非常感谢你的帮助。
答案 0 :(得分:1)
Object.define属性有一种指定get和set方法的方法
查看下面的链接
对象类有一个方法“hasOwnProperty”,在尝试访问它之前也可用于检查属性是否存在
答案 1 :(得分:0)
ES6附带代理对象,可帮助您重载点运算符。这意味着您可以在检索属性时调用函数。这将允许您检查属性是否已定义,以及它是否是""抛出"一个错误。希望这可以帮助。更多信息here
答案 2 :(得分:0)
查看上面的示例,如果您要尝试初始化该属性" b"在" a"之后的对象a上有一个值已定义,然后您可以轻松地执行以下操作:
var a= {example:"example"};
//do something here
a.b = 'some value';
a.b //now an error is not throw
大多数对象即使在初始化后也可以重新定义。初始化对象后,可以添加和删除属性和方法。 我说得最多,因为可以防止对象被扩展/更改(使用Object.preventExtension方法)。 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/preventExtensions