私はこのコードフラグメントでes6構文を使用しようとしています。Array.reduceのスプレッドノーテーションを使用
let checkList = [1, 2].map(i => "Check " + i)
let checks = checkList
// .reduce((acc, check) => Object.assign(acc, {[check]: {valid: false}}), {})
.reduce((acc, check) => {...acc, {[check]: {valid: false}}}, {})
console.log(checks)
出力私はhttps://babeljs.ioにコメント行を使用する場合は以下の通りであると私は新しい構文を使用して取得したいものです。
Object {
"Check 1": Object {
"valid": false
},
"Check 2": Object {
"valid": false
}
}
このコードに構文エラーがあるかどうかはわかりません。私はbabeljsのすべてのプリセットを選択しようとしましたが、正しくコンパイルしません。
それはES6構文ではありません。オブジェクトリテラルでスプレッドシンタックスを使用することはできません。実験的に提案された構文です。 – Bergi
オブジェクトを返す[ECMAScript6 arrow関数]の重複の可能性あり(https://stackoverflow.com/questions/28770415/ecmascript6-arrow-function-that-returns-an-object) – Bergi