objTarget 오브젝트를 objObject 오브젝트의 값을 기준으로 확장한다.
Parameters | Type | Description |
---|---|---|
objTarget | class | 확장 대상 자바스크립트 오브젝트 |
objObject | class | 자바스크립트 오브젝트 |
bOverWrite | BOOL | 같은 속성이 있는 경우, 값 오버라이트 여부 |
Type | Description |
---|---|
BOOL |
bOverWrite 파라미터가 false인 경우, 기존 objTarget 오브젝트와 objObject 오브젝트에 동일한 속성이 있는 경우, 값을 수정하지 않는다.
확장되는 오브젝트 속성 값 유형이 오브젝트인 경우에는 오브젝트의 레퍼런스 값이 복사된다.
확장되는 오브젝트 속성은 Recursive하게 동작하지 않느다. 즉 파라미터로 넘겨지는 오브젝트의 직접 정의된 속성만 처리된다.
function btn_text_on_mouseup(objInst)
{
var obj1, obj2, arrProp;
obj1 = {
"PROP_BASE" : "BASE"
};
obj2 = {
"PROP_BASE": "OVERWRITE",
"PROP_EXT": "EXT"
};
// 확장전 오브젝트 이름 배열을 구하고, 콘솔에 출력
arrProp = factory.objectproparray(obj1);
factory.consoleprint("prop name array = " + arrProp.join(","));
// 확장후, 오브젝트 이름 배열을 구하고, 콘솔에 출력
factory.objectextend(obj1, obj2, false);
arrProp = factory.objectproparray(obj1);
factory.consoleprint("prop name array = " + arrProp.join(","));
// --> "BASE"값 출력
factory.consoleprint("obj1.PROP_BASE = " + obj1["PROP_BASE"]);
// overwrite 속성을 true 설정해서 확장
factory.objectextend(obj1, obj2, true);
// --> "OVERWRITE"값 출력
factory.consoleprint("obj1.PROP_BASE = " + obj1["PROP_BASE"]);
}