LHJ

I'm a FE developer.

18. Object Creation With 'new', 'Object.create', and 'Object.assign'

28 Sep 2020 » js

18. Object Creation With ‘new’, ‘Object.create’, and ‘Object.assign’

JavaScript에서 개체를 만드는 방법은 여러 가지가 있습니다.
그러나 누군가가 new 키워드 대신 Object.create 메서드를 선택하는 이유가 있습니다.
Object.create 메서드를 사용하면 기존 개체를 새로 만든 개체의 프로토타입으로 사용할 수 있습니다.
이를 통해 OOP의 상속 개념과 유사하게 기존 개체의 속성과 기능을 재사용 할 수 있습니다.

Object.assign 메서드를 사용하면 하나 이상의 [원본 개체(source object)]에서 [대상(target) 개체]로 열거 가능한 고유 속성을 복사 할 수 있습니다.
이 상황에서 [대상(target) 개체]의 프로토타입에는 [원본 개체(source object)]의 속성이 포함되지 않습니다.
이것이 이 두 가지 방법의 주요 차이점입니다.

create(만들다)와 assign(할당)의 차이인 것 같다. create로 만들면 기존(원본) 객체와 prototype으로 연결되고, assign(할당)하면 속성은 받지만 prototype으로 연결되진 않고..
그런 뜻인 것 같다.

이러한 세 가지 개체 생성 방법을 이해하면 사용 사례에 따라 응용 프로그램 내에서 적절하게 사용하여 메모리 효율적인 프로그램을 만들 수 있습니다.