もとのobjectは変更せずコピーして利用したい場合、JSON.parse(JSON.stringify())
でうまくいった。
const obj = { a: 0 } const newObj = JSON.parse(JSON.stringify(obj)) newObj.a = 1; console.log(newObj) // {a: 1} console.log(obj) // {a: 0} ←もとのobjはもとのまま
Object.assign()
だと元のが書き変わってしまう。
(ReactのuseStateでも、set〇〇しなくても書き変わったので特に注意。)
const obj = { a: 0 } const newObj = Object.assign(json) newObj.a = 1; console.log(newObj) // {a: 1} console.log(obj) // {a: 1} ←もとのも書き変わってしまう