在 JavaScript 中有条件地向对象添加成员
问题:如何动态向对象添加成员,取决于某些条件,在 JavaScript 中?
初始方法:
一种简单的方法是使用 if 语句在满足条件时添加成员:
var a = {}; if (someCondition) a.b = 5;
惯用解决方案:
要编写更惯用和简洁的代码,请避免使用 undefined 作为条件成员的值。相反,使用条件三元运算符:
a = { b: (someCondition? 5 : undefined) };
但是,如果不满足条件,这种方法仍然会导致 b 成员被定义为未定义的值。
ES6使用逻辑 AND 的解决方案:
对于具有多个成员的一般情况,ES6 引入了一个巧妙的解决方案,使用扩展运算符和逻辑 AND 短路求值:
const a = { ...(someCondition && {b: 5}) }
逻辑 AND (&&) 运算符如果任何操作数为 false,则求值为 false。由于 JavaScript 中 undefined 为 false,因此如果 someCondition 为 false,则 {b: 5} 对象不会包含在展开运算符中,从而有效防止将 b 成员添加到对象中。
以上是如何有条件地将成员添加到 JavaScript 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!