반응형
Javascript Mix-In pattern 믹스-인 패턴 여러 객체를 한 객체로 만들기
Mix-In 패턴은 여러 객체의 정보를 한 객체로 섞는 패턴입니다.
예를들어 복수의 Object들을 하나의 새로운 Object로 만드는 방법이죠.
const mix = function(){
const child = {};
for(let arg in arguments){
for(let prop in arguments[arg]){
child[prop] = arguments[arg][prop];
}
}
return child;
}
위의 코드를 보시면 arguments 개수 만큼 반복하면서 arguments의 value값을 child Object에 추가해주어 리턴해줍니다.
그럼 복수개의 오브젝트를 mix 함수의 매개변수로 넘겨 결과를 확인해보겠습니다.
const aObj = {
name: "aljjabaegi"
}
const bObj = {
protocol: "http://"
}
const cObj = {
dns: "co.kr"
}
const mixedObj = mix(aObj, bObj, cObj);
console.log(mixedObj);
파라메터로 전달된 객체들의 Property 값 들이 복사되어 새로운 객체가 생성된 것을 확인하실 수 있습니다.
이는 단순히 객체들의 프로퍼티 값을 복사해서 새로운 객체를 만든 것이기 때문에
파라메터로 넘겨진 객체들의 값을 변경하여도 mixedObj는 영향을 받지 않습니다.
파라메터로 넘겨진 오브젝트들 중 같은 Property key를 가지고 있다면 나중에 넘겨진 파라메터의 Property value로
덮어씌워지게 됩니다.
반응형
'Programing > Design Patterns' 카테고리의 다른 글
Javascript Factory Pattern 팩토리 패턴 반복 객체 생성 패턴 (0) | 2022.03.18 |
---|---|
Javascript 다른 객체의 메서드 호출하기 메서드 빌려쓰기 패턴 (0) | 2022.03.14 |
Javascript 프로퍼티 복사를 통한 상속 패턴 깊은복사 얕은복사 배열 객체 구분 (0) | 2022.03.11 |
javascript 설정 객체 패턴 (0) | 2021.10.28 |
javascript Memoization Pattern, 메모이제이션 패턴 (0) | 2021.10.28 |
댓글