我在我的 javascript 中为两个地方重用了一个函数。
在此方法中,我拨打电话并检索 json 对象(数据)
data[0].fields['status']
在其中一种情况下,我知道关键的“状态”不存在,我需要使用硬编码值,但由于两种情况的代码是共享的,我需要捕获这种情况。
是否有一种 get 方法可以安全地检查密钥,如果它不存在,我将使用硬编码值?
data[0].fields.get('status') ?
还是有更好的方法?
我在我的 javascript 中为两个地方重用了一个函数。
在此方法中,我拨打电话并检索 json 对象(数据)
data[0].fields['status']
在其中一种情况下,我知道关键的“状态”不存在,我需要使用硬编码值,但由于两种情况的代码是共享的,我需要捕获这种情况。
是否有一种 get 方法可以安全地检查密钥,如果它不存在,我将使用硬编码值?
data[0].fields.get('status') ?
还是有更好的方法?
通常:
var status = data[0].fields['status'] || "default";
正如所指出的,这可能会产生虚假值的不良行为。
此外,除了in
运算符之外,您还可以使用hasOwnProperty
方法。
if ( typeof data[0].fields['status'] === 'undefined' ) data[0].fields['status'] = 'hardcoded value';
// your code goes on here