Programing/Design Patterns
Javascript Mix-In pattern 믹스-인 패턴 여러 객체를 한 객체로 만들기
리커니
2022. 3. 13. 21:26
반응형
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로
덮어씌워지게 됩니다.
반응형