
jQuery에서 객체를 병합할 때 사용하는 유틸리티 메서드입니다. 이 메서드는 한 객체의 속성을 다른 객체에 복사하거나, 여러 객체를 병합하는 데 사용 됩니다.
$.extend(target, object1, object2, ...);
object1,object2...의 속성이 target에 복사 됩니다.$.extend()를 사용하여 객체를 병합할 때, target객체가 원래의 속성을 유지하면서 병합됩니다.var obj1 = {name: "Joon",
age: 25
};
var obj2 = {age: 30,
city: "New York"
};
$.extend(obj1, obj2);
console.log(obj1); // {name: "Joon", age: 30, city: "New York"}
obj2속성이 obj1에 병합되고, 중복된 속성(age)은 obj2의 값으로 덮어씌워집니다.var obj1 = {name : "Joon"};
var obj2 = {age : 30};
var mergerObj = $.extend({}, obj1, obj2);
console.log(mergeObj); // {name:"Joon",age:30}
console.log(obj1); // {name:"Joon"} 원본객체는 변경되지 않음
jQuery.fn.egovTable = function(config){
var _config = $.extend({
}, config ||{});
return new EgovTable(_config);
};
config || {} 부분은 config객체가 정의되어 있는지를 확인하고, 만약 config가 null, undefined, 또는 false와 같은 falsy값일 경우 빈 객체 {}를 대신 사용하도록 하는 표현입니다.
config : 외부에서 전달된 설정 객체입니다. 이 객체가 올바르게 정의되어 있으면 그대로 사용됩니다.|| : 논리 연산자로, 왼쪽 값이 falsy일 경우 오른쪽 값을 반환합니다.{} : config가 falsy일 때 기본값으로 사용될 빈 객체입니다.config가 다음과 같이 주어졌다면var config = {
url : "https://example.com",
pager : false
};
config가 truthy이므로 $.extend()는 config를 사용해 기본 설정과 병합합니다.
config가 정의 되지 않았거나 null이라면var config = null; // 또는 config가 아예 선언되지 않았을 때
config || {}는 빈 객체 {}를 반환하여 $.extend()가 기본 설정만 사용하게 됩니다.
config || {}는 외부에서 설정 객체가 제공되지 않더라도 코드가 문제없이 동작하도록 안전장치를 마련하는 것입니다.