본문 바로가기
javaScript

extend() 메서드

by mooyou 2023. 11. 25.
728x90
300x250
SMALL

 

jQuery.extend() 메서드는 두 개 이상의 객체를 병합하는데 사용하는 jQuery 유틸리티 메서드이다.

이이 메서드를 사용하면 여러 객체를 하나로 합칠 수 있다.

 

var result = $.extend(target, object1, object2); //object1 + object2  target에 저장된다.
var result = $.extend(true, target, object1, object2); // 중첩된 객체까지 모두 새로운 객체로 만든다.
var result = $.extend(target, object1); // object1 + target target에 저장된다.

 

var result = $.extend(target, object1, object2); 

var target = {};
var object1 = { foo: "bar" };
var object2 = { baz: "qux" };

$.extend(target, object1, object2);

console.log(target);
// 출력: { foo: "bar", baz: "qux" }

 

 

var result = $.extend(true, target, object1, object2);

var target = {};
var object1 = { foo: { bar: "baz" } };
var object2 = { foo: { qux: "quux" } };

$.extend(true, target, object1, object2);

console.log(target);
// 출력: { foo: { bar: "baz", qux: "quux" } }

 

 

var result = $.extend(target, object1);

var target = {name: "Alice",  age: 30};
var object1 = { name: "John", city: "New York"};
var result = $.extend(target, object1);

// target : {name: 'John', age: 30, city: 'New York'}
// object1 : {name: 'John', city: 'New York'}
// result : {name: 'John', age: 30, city: 'New York'}

 

결과를 보면 object1이 target에 합쳐지는걸 확인할 수 있다. 따라서 result와 target은 같은결과를 나타낸다.

target과 object1이 같은 속성이 있을경우 object1속성으로 대체 된다.

 

 

만약 target의 기본값이 변경이 안되도록하려면 첫 번째 매개변수를 빈 값으로 넣어주면 된다.

var target = {name: "Alice",  age: 30};
var object1 = { name: "John", city: "New York"};
var result = $.extend({}, target, object1);

// target : {name: 'Alice', age: 30}
// object1 : {name: 'John', city: 'New York'}
// result : {name: 'John', age: 30, city: 'New York'}

 

728x90
반응형
LIST

댓글