[Javascript] Array.push() vs Array.concat()

EJ__OH·2021년 11월 25일
0

javascript 언어 및 이를 활용한 언어 환경에서 배열은 정말 자주 사용된다.
이때 자주 사용된다는 의미는 배열끼리 더하고 빼고 지지고 볶고를 모두 포함한 의미이다.
배열끼리 더하는 경우에, push 메서드, concat 메서드, unshift 메서드가 자주 사용된다.
기존 배열 뒤에 붙일 때 쓰이는 push 메서드와 concat 메서드를 비교해보자.

배열을 더할 땐 Array.concat() 쓰자 !

push 메서드는 배열의 에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환한다.
concat 메서드는 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환한다.

push 메서드는 return 값이 배열의 새로운 길이이고 기존 배열을 변경한다.

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];

const arr3 = arr1.push(arr2);
console.log(arr1); // [1, 2, 3, 4, 5, 6]
console.log(arr3); // 6

concat 메서드는 return 값이 추가된 새로운 배열이고 기존 배열을 변경하지 않는다.

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];

const arr3 = arr1.concat(arr2);
console.log(arr1); // [1, 2, 3]
console.log(arr3); // [1, 2 ,3 ,4 ,5 ,6]

대문짝만하게 먼저 썼지만 concat 메서드가 기존 배열과 새로운 배열을 더하려는 의도에 더 부합하는 메서드인 듯.

push 메서드는 return 값이 새로운 배열의 길이라는 점,
concat 메서드의 return 값이 추가된 새로운 배열이라는 점
concat 메서드가 기존 배열을 변경하지 않는다는 점에서 concat 메서드 쓰자 !

뿅 !



참고링크
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/push
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/concat
profile
Junior FE Developer

0개의 댓글