在 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中文網其他相關文章!