JavaScript の Object.fromEntries() メソッドの基本的な役割として、正しいものはどれですか?
1〜4キーで選択、Enterで回答できます
解説
正解は「[キー, 値] の組の並び(配列や Map など)からオブジェクトを作る」です。Object.fromEntries() は [キー, 値] の2要素配列が並んだもの(配列や Map などの反復可能なオブジェクト)を受け取り、それぞれをプロパティとする新しいオブジェクトを返します。基本的な使い方const pairs = [['name', 'Taro'], ['age', 20]]; console.log(Object.fromEntries(pairs)); // { name: 'Taro', age: 20 } const map = new Map([['a', 1], ['b', 2]]); console.log(Object.fromEntries(map)); // { a: 1, b: 2 } → Map もそのままオブジェクトに変換できるその他の選択肢について「オブジェクトを [キー, 値] の組の配列に変換する」: これは逆向きの Object.entries() の役割です。両者を組み合わせると、Object.fromEntries(Object.entries(obj).map(...)) のようにオブジェクトの値を一括で加工できます。「複数のオブジェクトのプロパティを」: これは Object.assign() やスプレッド構文 { ...a, ...b } の役割です。「オブジェクトのキーだけを取り出して」: これは Object.keys() の役割です。FormData の変換では同じ name の値が1つしか残らないフォームの入力値をまとめて取得する方法として Object.fromEntries(new FormData(form)) がよく使われます。ただしオブジェクトのキーは重複できないため、同じキーが複数あると後のものが前の値を上書きします。// フォーム内に name="tag" のチェックボックスが2つチェックされている場合 const data = Object.fromEntries(new FormData(form)); console.log(data.tag); // 'css' → 先に来た 'js' は失われる // 複数の値を取り出したい項目は getAll() を使う console.log(new FormData(form).getAll('tag')); // ['js', 'css']参考Object.fromEntries() - JavaScript | MDN