Skip to content

Instantly share code, notes, and snippets.

@yeonwooz
Created September 12, 2021 06:17
Show Gist options
  • Save yeonwooz/8bfba818ecf60807ed4a472c151595cf to your computer and use it in GitHub Desktop.
Save yeonwooz/8bfba818ecf60807ed4a472c151595cf to your computer and use it in GitHub Desktop.
immutableCloining
// Array.from()
const addition1 = (param) => {
console.log(param) // []
const copiedParam = Array.from(param)
console.log('param', param, 'copiedParam', copiedParam) // param [] copiedParam []
param.push(11111)
copiedParam.push(22222)
console.log('param', param, 'copiedParam', copiedParam) // param [11111] copiedParam [22222]
return {param: param, copiedParam:copiedParam} // {param: [11111], copiedParam: [22222]}
}
const a = []
addition1(a)
// splice()
const addition2 = (param) => {
console.log(param) // []
const copiedParam = param.slice()
console.log('param', param, 'copiedParam', copiedParam) // param [] copiedParam []
param.push(11111)
copiedParam.push(22222)
console.log('param', param, 'copiedParam', copiedParam) // param [11111] copiedParam [22222]
return {param: param, copiedParam:copiedParam} // {param: [11111], copiedParam: [22222]}
}
const b = []
addition1(b)
@yeonwooz
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment