将空值或假值强制转换为未定义值



我想将任何虚假值转换为未定义,以便不会将特定属性添加到生成的 JSON 对象中。

const response = {
myValue: 'someString',
errorMessage: error && 'An unexpected error occurred'
};

在这里,我希望errorMessage属性解析为undefinederror对象null时。不幸的是,当没有错误时,errorMessage属性将变为null而不是undefined,从而导致它包含在最终对象中。是否有可用的语法来防止这种情况?

您可以将|| undefined附加到语句的末尾,它应该可以正常工作。

const error = null
const response = {
myValue: 'someString',
errorMessage: error && 'An unexpected error occurred' || undefined
};
console.log(JSON.stringify(response))

使用三元

const error = false;
const response = {
myValue: 'someString',
errorMessage: error ? 'An unexpected error occurred' : undefined
};
const json = JSON.stringify(response);
console.log(json)

const response = {
myValue: 'someString',
errorMessage: error?error:undefined
};

最新更新