牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Javascript でオブジェクトを Object.assign とかでコピーして処理しないとヤバそうなのでメモ

処理

const DATA = {id:1, name:'hoge'}

const update = (data) => {
  delete data.id
  data.name = 'fuga'
  return data
}

const main = (data) => {
  const result = update(data)
  console.info('result', result)
}

オブジェクトをコピーしないで実行

元のオブジェクトの値も変更される

main(DATA)
console.info('DATA', DATA)

// result { name: 'fuga' }
// DATA { name: 'fuga' }

オブジェクトをコピーして実行

元のオブジェクトは変わらず

main(Object.assign({}, DATA))
console.info('DATA', DATA)

// result { name: 'fuga' }
// DATA { id: 1, name: 'hoge' }