Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 기존 객체에 함수 호출 결과의 속성을 할당하는 가장 짧은 구문

기존 객체에 함수가 반환한 객체의 속성을 한 번에 할당하려면 스프레드 연산자(spread operator)를 활용하면 됩니다. 가장 짧고 간결한 구문은 다음과 같습니다.

{...객체명1, ...객체명2}

동작 원리

...(스프레드 연산자)는 객체가 가진 모든 열거 가능한 속성을 새로운 객체 리터럴 안으로 펼쳐 넣는 역할을 합니다. 이를 활용하면 여러 객체의 속성을 별도의 반복문이나 병합 함수 없이 단 한 줄의 코드로 하나의 객체로 합칠 수 있습니다.

예제

다음은 함수가 반환한 객체의 속성을 기존 객체에 병합하는 전체 코드입니다.

function getTheObject() {
    return {
        lastName: "Smith",
        countryName: "US"
    }
}
var availableObj = { firstName: "Adam" }
availableObj = { ...availableObj, ...getTheObject() };
console.log(availableObj);

위 예제에서 availableObjfirstName 속성과 getTheObject() 함수가 반환한 lastName, countryName 속성이 하나의 객체로 합쳐집니다.

실행 방법

위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 입력합니다.

node fileName.js

여기서는 파일 이름이 demo313.js라고 가정합니다.

출력 결과

프로그램을 실행하면 다음과 같은 출력을 확인할 수 있습니다.

PS C:\Users\Amit\javascript-code> node demo313.js
{ firstName: 'Adam', lastName: 'Smith', countryName: 'US' }

출력에서 볼 수 있듯이 기존 객체와 함수가 반환한 객체의 속성들이 성공적으로 하나로 병합되었습니다. 이처럼 스프레드 연산자를 사용하면 객체 병합 코드를 매우 짧고 읽기 쉽게 작성할 수 있습니다.