클리엘
CLIEL LAB
클리엘
전체 방문자
오늘
어제
  • 분류 전체보기 (514) N
    • Mobile (47)
      • Kotlin (47)
    • Web (84)
      • NestJS (9)
      • HTML5 & CSS3 (38)
      • Javascript (20)
      • TypeScript (6)
      • JQuery (11)
    • .NET (301) N
      • C# (84) N
      • ASP.NET (67)
      • Windows API for .NET (128)
    • Server (53)
      • SQL Server (10)
      • MariaDB (18)
      • Windows Server (6)
      • node.js (19)
    • System (12)
      • 작업LOG (12)
    • Review (11)
    • ETC (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 블로그 정리

인기 글

태그

  • c#
  • ASP.NET
  • Kotlin
  • android
  • jQuery
  • Windows API
  • HTML5
  • MariaDB
  • asp.net core
  • android studio
  • exception
  • node.js
  • 변수
  • asp.net core web api
  • CSS3
  • Entity Framework
  • LINQ
  • .NET
  • NestJS
  • JavaScript

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
클리엘

CLIEL LAB

Web/JQuery

[jQuery] 객체 합치기 ($.extend)

2020. 6. 2. 11:14
728x90

jQuery의 $.extend 메서드는 두 번째 매개변수에 지정된 객체의 속성을 첫 번째 매개변수에 지정한 객체와 합쳐주는 역할을 수행합니다.

 

아래 예제는 기존 javascript에서 객체를 생성 후 해당 객체에 원하는 속성을 추가하는 방법을 보여주고 있습니다.

$(function () {
	var obj = {};
	obj.name = '홍길동';

	alert(obj.name);
});

이것을 jQuery의 $.extend를 사용하면 다음과 같이 바꿀 수 있습니다.

$(function () {
	var obj = {};

	$.extend(obj, { name : '홍길동' });

	alert(obj.name);
});

물론 다수의 속성을 추가하는데도 사용할 수 있으며 속성이 많으면 많을수록 $.extend메서드를 사용하는 편이 좀 더 나을 수 있습니다.

$(function () {
	var obj = {};

	$.extend(obj, {
		name : '홍길동',
		addr : '서울시'
	});

	alert(obj.addr);
});

단 $.extend를 사용 시 주의해야 할 부분이 있습니다.

$(function () {
	var obj = { name : '홍길순' };

	$.extend(obj, {
		name : '홍길동',
		addr : '서울시'
	});

	alert(obj.name);
});

위 예제에서는 obj에 이미 name이 있으나 $.extend메서드로 인해 기존의 name값이 '홍길동'으로 덮어써지게 되는 것을 알 수 있습니다.

 

이러한 문제는 다음과 같은 방법으로 보완할 수 있습니다.

$(function () {
	objExtend({ name : '홍길순' });
});


var objExtend = function(obj) {
	obj = $.extend({
		name : '홍길동'
	}, obj);

	alert(obj.name);
};

예제에서는 고의적으로 name속성을 지정해 값을 할당하고 있습니다. 이렇게 하면 obj의 name은 '홍길순'이 됩니다. 그러나 만약 name을 지정하지 않으면 name의 값은 '홍길동'을 유지하게 됩니다.

$(function () {
	objExtend({ addr : '서울시' });
});


var objExtend = function(obj) {
	obj = $.extend({
		name : '홍길동'
	}, obj);

	alert(obj.name);
};
728x90
저작자표시 비영리 변경금지

'Web > JQuery' 카테고리의 다른 글

[jQuery] 요소 조작 메서드  (0) 2020.06.07
[jQuery] 요소 탐색 메서드  (0) 2020.06.03
[jQuery] 배열처리  (0) 2020.06.02
[jQuery] 선택자  (0) 2020.06.02
[jQuery] 다운로드및 사용  (0) 2020.05.30
    'Web/JQuery' 카테고리의 다른 글
    • [jQuery] 요소 조작 메서드
    • [jQuery] 요소 탐색 메서드
    • [jQuery] 배열처리
    • [jQuery] 선택자
    클리엘
    클리엘
    누구냐 넌?

    티스토리툴바