• 모닥위키모닥위키
  • 모닥위키
위키
  • 임의문서
  • 주간인기
  • 문서
  • 시리즈
    AAAdddvvveeerrrtttiiissseeemmmeeennntttAdvertisement

    © 2025 modak.wiki All rights reserved.

      Object.create vs Object.assign

      Chapter 18 - Object.create and Object.assign

      컴퓨터/IT학습
      lu

      luasenvy (luasenvy)

      CC BY 4.0 국제규약

      Object.create

      const newObj = Object.create({});
      const nullObj = Object.create(null);
      

      파라미터로 전달된 프로토타입을 갖는 새로운 객체를 만들어낸다. 결과만 보면 new Class()와 비슷하게 동작해서 혼동할 수 있지만 좀 더 다양한 사용법은 Object.create에서 확인해볼 수 있다.

      Object.assign

      const newObj = Object.create({ A: 1, B: 2 });
      const merged = Object.assign(newObj, { B: 3, C: 4 }); // { A: 1, B: 3, C: 4 }
      
      const isSame = newObj === merged; // true
      

      객체 2개를 인자로 받는데 1번 객체에 2번 객체를 병합하는 함수다. 2번 객체의 열거 가능(키가 있는)한 모든 멤버를 첫 번째 인자의 객체로 복사한다. 복사할 때에는 값을 복사하기 때문에 깊은 복사(deep copy)를 원할 경우 다른 방법을 사용해야한다.

      초판: 2024. 08. 19. 10:50:44

      © 2024 이 문서는 "CC BY 4.0 국제규약" 라이선스로 배포 되었습니다. 모든 권리는 저자에게 있습니다.

      Object.create vs Object.assign

      Object.create
      Object.assign