자바스크립트

웹을 움직이는 언어, 자바스크립트! ES6+, Vue, React, Node.js 등 모던 JS 생태계를 깊이 있게 탐구하는 공간입니다.

2025.02.22 03:16

jQuery의 .extend() 메소드: 객체 합치기 기초

  • 나우호스팅 21일 전 2025.02.22 03:16
  • 22
    0

jquery .extend()


jQuery.extend() 함수


jQuery.extend() 함수는 객체를 복사하거나 확장하는 데 사용됩니다. 이 함수는 두 개의 객체를 인수로 받고, 두 번째 객체의 속성을 첫 번째 객체에 추가합니다.

# 기본 사용법


#hostingforum.kr
javascript

$.extend(원본 객체, 추가 객체);



# 예제


#hostingforum.kr
javascript

var 원본 = { name: 'John', age: 25 };

var 추가 = { country: 'USA', city: 'New York' };



$.extend(원본, 추가);

console.log(원본); // { name: 'John', age: 25, country: 'USA', city: 'New York' }



# 복사


#hostingforum.kr
javascript

var 복사 = $.extend({}, 원본);

console.log(복사); // { name: 'John', age: 25 }



# 여러 객체 확장


#hostingforum.kr
javascript

var 객체1 = { a: 1, b: 2 };

var 객체2 = { c: 3, d: 4 };

var 객체3 = { e: 5, f: 6 };



$.extend(원본, 객체1, 객체2, 객체3);

console.log(원본); // { a: 1, b: 2, c: 3, d: 4, e: 5, f: 6 }



# jQuery.extend() 함수 소스 코드


#hostingforum.kr
javascript

extend: function() {

    var target = arguments[0] || {},

        i = 1,

        length = arguments.length,

        deep = false;



    if (typeof target === "boolean") {

        deep = target;

        target = arguments[i] || {};

        i++;

    }



    if (typeof target !== "object" && !jQuery.isFunction(target)) {

        target = {};

    }



    if (i === length) {

        target = this;

        i--;

    }



    for (; i < length; i++) {

        var arg = arguments[i];

        if (typeof arg === "object" && arg !== null) {

            for (var name in arg) {

                if (Object.prototype.hasOwnProperty.call(arg, name)) {

                    target[name] = deep && jQuery.isObject(target[name]) ? $.extend(true, target[name], arg[name]) : arg[name];

                }

            }

        } else if (arg !== undefined) {

            target[arg] = arg;

        }

    }



    return target;

}



# 소스 코드 설명


1. `target` 변수에 첫 번째 인수로 전달된 객체를 저장합니다.
2. `deep` 변수를 설정하여 객체를 복사할지 여부를 결정합니다.
3. `target` 변수가 객체가 아닌 경우 빈 객체를 생성합니다.
4. `i` 변수를 증가시켜 두 번째 인수로 전달된 객체를 `target` 변수에 추가합니다.
5. `for` 루프를 사용하여 나머지 인수로 전달된 객체를 `target` 변수에 추가합니다.
6. `deep` 변수가 `true` 인 경우 객체를 복사합니다.

이 게시물에 포함된 라이브러리

[PHP] log - 자연로그
[PHP] end - 배열의 내부 포인터를 마지막 요소로 설정합니다.
[PHP] defined - 주어진 이름의 상수가 존재하는지 확인합니다.
[PHP] define - 명명된 상수를 정의합니다.
[PHP] count - 배열 또는 Countable 객체의 모든 요소를 ​​계산합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 자바스크립트 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 35건 / 1 페이지

검색

게시물 검색