2023년 3월 15일
KSY
JavaScript concat()메서드에 대해서
concat()메서드는 무엇일까?
concat() 메서드는 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환한다.
⇒ 기존 배열을 변경하지 않고 추가된 새로운 배열을 반환한다.
array.concat([ value1[, value2[, … [, valueN]]] ])
- 배열 또는 값
- 만약 value1 ~ valueN 인자를 생략하면 기존 배열의 얕은 복사본을 반환함
- valueN에 concat() 의 인수가 배열이면 그 구성요소가 순서대로 붙고, 배열이 아니라면 인수 자체가 붙는다. 중첩 배열 내부로 재귀하지 않는다.
반환값은 새로운 aaray 객체이다.
concat은 this나 인수로 넘겨진 배열의 내용을 바꾸지 않고, 대신 주어진 배열을 합친 뒤 그 얕은 사본을 반환한다. 새 배열에는 원본 배열의 요소를 다음과 같이 복사한다.
- 실제 객체가 아닌 객체 참조 : concat은 새 배열에 참조를 복사한다. 원본 배열과 새 배열에서 같은 객체를 가리킨다. 즉 참조하는 객체를 수정하면 그 내용이 새 배열과 원본 배열 둘 다 나타난다.
- 문자열, 숫자, 불리언 등 자료형(String, Number, Boolean 객체 아님) : concat은 새 배열에 문자열과 수의 값을 복사한다.
배열이나 값을 이어붙여도 원본은 변하지 않으며, 새로운 배열이나 원본 배열을 조작해도 서로 영향받지 않는다.