1. ホーム
  2. javascript

[解決済み] ES6/ES7における「オプション」オブジェクトキーの簡潔で簡潔な構文?

2023-07-24 11:37:26

質問

すでに多くの クールな機能 は、Javascriptのオブジェクトを定義するためにES6/ES7ですでに多くのクールな機能を提供しています。しかし、Javascriptでは次のようなパターンが一般的です。

const obj = { 
  requiredKey1: ..., 
  requiredKey2: ... 
};

if (someCondition) { 
  obj.optionalKey1 = ...;
}

オプションキーと必須キーの両方を持つオブジェクトを一度に定義する方法はありますか?

どのように解決するのですか?

あなたは オブジェクトの広がり を使えば、オプションのプロパティを持つことができます。

let flag1 = true;
let flag2 = false;

const obj = { 
  requiredKey1: 1, 
  requiredKey2: 2,
  ...(flag1 && { optionalKey1: 5 }),
  ...(flag2 && { optionalKey2: 6, optionalKey3: 7 }),
  ...(flag1 && { optionalKey4: 8, optionalKey5: 9 })
};

console.log(obj);