리액트 공부중인데


const [ persons , setPersons ] = useState( [

{ },

{ },

{ }

]

);



이런 State 배열에서 새로운 배열 원소를 추가 할 때


setPersons ( [

          ...persons,

    person

]

);


이렇게 하거나


setPersons ( persons .concat ( person ) );



이런식으로 spread 나 concat 방식으로 하라고 공부했는데


궁금한건 concat 함수도 새 배열을 만든 후에 복붙하는 방식인거지?


연산속도 측면에서 스프레드나 concat 이나 똑같다고 봐야하나?


아니면 concat 함수에 내가 모르는게 또 있을까?


예를 들면 저런식으로 배열을 push 할 때 좀 더 메모리를 더 확보한다던지?


golang 같은 경우는 Array를 push 할 때마다 기존 배열의 메모리보다 2배 더 메모리를 확보해서


속도를 개선했다고 배워서 물어보는거임.