JavaScriptでオブジェクトのプロパティをイミュータブルなやりかたで削除する方法です。
イミュータブルな削除というのは、あるオブジェクトのプロパティを削除するとき、そのオブジェクトを変更するのではなく、削除対象のプロパティが取り除かれたオブジェクトを新たに作ることです。
やりかた
destructuring assignment構文を使います。
例えば、a
,b
,c
の3つのプロパティを持ったオブジェクトから、a
を削除したい場合、
const obj1 = { a: 1, b: 2, c: 3 }
destructuring assignment構文に、取り除くa
プロパティと、残すそれ以外のプロパティを入れる変数obj2
を...
を伴って書きます:
const {a, ...obj2} = obj1
すると、obj1
は変更されず、obj1
からa
が取り除かれたobj2
ができます:
console.log(obj1, obj2)
//=> { a: 1, b: 2, c: 3 } { b: 2, c: 3 } 😎✅