237 of 264 menu

Object.assign 메서드

Object.assign 메서드는 소스 객체의 속성과 값을 복사하여 새로운 객체를 반환합니다. 메서드의 첫 번째 매개변수에는 복사할 대상 객체를 지정하고, 두 번째 매개변수에는 복사해야 할 객체들을 지정합니다.

구문

Object.assign(복사 대상, 객체들);

예시

소스 객체로부터 새로운 객체를 얻어봅시다:

let obj = {'a': 1, 'b': 2, 'c': 3}; let newObj = Object.assign({}, obj); console.log(newObj);

코드 실행 결과:

{a: 1, b: 2, c: 3}

예시

이번에는 매개변수에 쉼표로 구분하여 여러 개의 소스 객체를 나열하여 새로운 객체를 얻어봅시다:

let obj1 = {'a': 1, 'b': 2}; let obj2 = {'c': 3, 'd': 4}; let newObj = Object.assign({}, obj1, obj2); console.log(newObj);

코드 실행 후, 두 개의 소스 객체가 하나의 새로운 객체로 병합된 것을 확인할 수 있습니다:

{a: 1, b: 2, c: 3, d: 4}

예시

배열도 그 타입이 객체에 속하기 때문에, Object.assign 메서드를 사용하여 새로운 배열을 얻을 수도 있습니다. 소스 배열에서 요소를 복사하여 새로운 배열을 만들어봅시다:

let arr = [1, 2, 3, 4]; let newArr = Object.assign([], arr); console.log(newArr);

코드 실행 결과:

[1, 2, 3, 4]

예시

Object.assign 메서드를 사용할 때는 구문을 주의 깊게 따라야 합니다. 예를 들어, 첫 번째 매개변수에 대상 객체를 추가하지 않고 복사할 객체만 남겨두면, 해당 객체가 그대로 반환됩니다:

let obj = {1:'a', 2: 'b', 3: 'c'}; let newObj = Object.assign(obj); console.log(newObj === obj);

코드 실행 결과:

true

같이 보기

  • 객체의 속성들로 이루어진 배열을 반환하는 메서드 Object.keys
  • 객체의 값들로 이루어진 배열을 반환하는 메서드 Object.values
한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부