MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

concat() 메서드는 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환합니다. 

구문

var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])

인수

valueN
새 배열으로 합쳐질 배열 또는 값입니다. 자세한 설명은 아래를 보십시오.

설명

concat은 이 메서드를 호출한 배열 뒤에 각 인수를 순서대로 붙인 새 배열을 만듭니다. 인수가 배열이면 그 성분이 순서대로 붙고, 배열이 아니면 그 인수 자체가 붙습니다.

concatthis나 인수로 넘겨진 배열의 내용을 바꾸지 않고 대신 주어진 배열들을 합친 뒤 그것의 얕은 사본(shallow copy)을 반환합니다. 원본 배열의 요소들은 새 배열에 다음과 같은 방법으로 복사됩니다.

  • 실제 객체가 아닌 객체 참조: concat은 새 배열에 객체 참조를 복사합니다. 원본 배열과 새 배열에서 같은 객체를 가리키게 됩니다. 즉, 참조된 객체가 수정되면 그 내용이 새 배열과 원본 배열 둘 다에서 나타납니다.
  • String 객체나 Number 객체가 아닌 문자열과 수: concat은 새 배열에 문자열과 수의 값을 복사합니다.

참고: 배열이나 값을 이어붙여도 그 원본은 변하지 않습니다. 또 새 배열에 어떤 조작을 가하더라도 원본 배열은 영향을 받지 않습니다. 그 역도 같습니다.

예제

배열 두 개 이어붙이기

다음 코드는 두 개의 배열을 이어붙입니다.

var alpha = ['a', 'b', 'c'],
    numeric = [1, 2, 3];

var alphaNumeric = alpha.concat(numeric);

console.log(alphaNumeric); // 결과: ['a', 'b', 'c', 1, 2, 3]

배열 세 개 이어붙이기

다음 코드는 세 개의 배열을 이어붙입니다.

var num1 = [1, 2, 3],
    num2 = [4, 5, 6],
    num3 = [7, 8, 9];

var nums = num1.concat(num2, num3);

console.log(nums); // 결과: [1, 2, 3, 4, 5, 6, 7, 8, 9]

배열에 값 이어붙이기

다음 코드는 배열에 세 개의 값을 이어붙입니다.

var alpha = ['a', 'b', 'c'];

var alphaNumeric = alpha.concat(1, [2, 3]);

console.log(alphaNumeric); 
// 결과: ['a', 'b', 'c', 1, 2, 3]

표준

표준 상태 비고
ECMAScript 3rd Edition (ECMA-262) Standard 최초 정의. JavaScript 1.2에서 구현됨.
ECMAScript 5.1 (ECMA-262)
The definition of 'Array.prototype.concat' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Array.prototype.concat' in that specification.
Standard  

브라우저 호환성

기능 Chrome Firefox (Gecko) Internet Explorer Opera Safari
기본 지원 1.0 1.0 (1.7 or earlier) 5.5 (Yes) (Yes)
기능 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
기본 지원 (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

같이 보기

문서 태그 및 공헌자

 이 페이지의 공헌자: VBChunguk, tmxkwkfgka
 최종 변경: VBChunguk,