在 JavaScript 或 TypeScript 中构建对象时,通常会根据表达式的求值有条件地添加属性。这通常是使用扩展运算符 (...) 结合逻辑条件来完成。
const condition = (a, b) → a › b; const obj = { a: 1, b: 2, ... (false && {c: 3}), ... (true && {d: 4}), ... (condition (1, 2) && {e: 5}), }; console.log(obj); // output: { a: 1, b: 2, d: 4 }
false && {c: 3}:计算结果为 false,表示 {c: 3} 对象不会传播到 obj 中。
true && {d: 4}:由于条件为 true,因此 {d: 4} 被传播到 obj 中。
condition(1, 2) && {e: 5}:条件函数评估是否a > > b.由于1> 2 为 false,对象 {e: 5} 不会传播。
此技术是一种强大的方法,可以保持对象定义干净简洁,同时根据各种条件动态添加属性。
最终的对象如下所示:
{ a: 1, b: 2, d: 4 }
以上是如何有条件地向对象添加属性的详细内容。更多信息请关注PHP中文网其他相关文章!