在 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 }
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3