일기장/개발일기

[개발일기] .concat

살찐만두 2023. 2. 1. 17:23
728x90

배열에 원소를 추가할 때 .push를 자주 쓰곤 했는데

.concat이라는 기능을 알게 되었다.

 

.concat도 똑같이 배열에 원소를 추가하는데, .push 와 뭐가 다를까?

 

바로 .push는 배열의 원본에 원소를 추가하는것이라면,

.concat은 배열의 원본은 건드리지 않고 조작하는 것이다.

 

코드로 예를 들자면,

var arr = [1,2];
arr.push(3);
// 이라면, arr를 출력했을 때 [1,2,3]이 출력된다.

var arr2 = [1,2];
var result = arr2.concat(3);
//이라면, result는 [1,2,3]이 되지만 arr2를 출력해보면 [1,2]가 출력된다.

 

state의 값을 바꿔야 할 때 .push를 쓰지 말고, .concat처럼 새로운 데이터를 추가하는걸 써야한다.

.push로 해도 기능 자체에는 문제가 없지만 나중에 성능을 개선할 때 굉장히 까다롭다고 하니 알아두면 좋을 듯 하다~!

 

지금껏 몰랐네,,

728x90