메서드를 포함하여 자바 스크립트에서 한 클래스의 속성을 다른 클래스로 복사하는 방법

Jens Modvig

서로 독립적으로 작동하는 두 개의 클래스 A와 B가 있지만 때로는 함께 생성하여 A의 함수가 B의 함수를 호출합니다. 이는 A에서 B를 확장하여 메서드를 재정의하면 쉽게 수행 할 수 있습니다. , 그러나 이것은 A와 독립적으로 B를 만들 수 없습니다. 대신 모든 속성과 메서드를 복사하고 싶습니다. Object.assign다음 예제를 사용 하여 문제를 설명했습니다.

class A {
    myFunc() {
        throw 'I have not been created yet'
    }   
}
class B {
    myFunc() {
        console.log(`it's all good now!`)
    }
}

let a = new A();
let b = new B();
Object.assign(a, b)

// explicitly copying the method works
//a.myFunc = b.myFunc;

a.myFunc();

질문은 : 명시 적으로 수행하지 않고 모든 메서드를 복사 할 수있는 방법이 있습니까?

BlueWater86

다음과 같은 방법으로 B 프로토 타입의 속성 이름을 반복하고 생성자를 제외한 인스턴스에 할당 할 수 있습니다.

class A {
    myFunc() {
        throw 'I have not been created yet'
    }   
}
class B {
    myFunc() {
        console.log(`it's all good now!`)
    }
}


let a = new A();
let b = new B();
//Object.assign(a, b)

for (const prop of Object.getOwnPropertyNames(B.prototype).filter(prop => prop !== "constructor"))
  a[prop] = B.prototype[prop]

// explicitly copying the method works
//a.myFunc = b.myFunc;

a.myFunc();

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

자바 스크립트에서 다른 클래스의 인스턴스를 통해 다른 클래스 내부의 메소드에 액세스하는 방법

분류에서Dev

이 자바 스크립트 코드에서 다른 클래스를 속성 지정하는 방법

분류에서Dev

한 Python 스크립트 클래스에서 다른 Python 스크립트로 값을 전송하는 방법

분류에서Dev

한 클래스의 메서드를 다른 클래스의 기본 메서드로 표시하는 방법

분류에서Dev

Ruby 클래스에서 클래스 메서드 및 속성을 정의하는 올바른 방법

분류에서Dev

다른 클래스의 on click 메소드를 사용하여 한 클래스의 값을 전달하는 방법

분류에서Dev

서로 다른 클래스를 확장하는 두 개의 유사한 클래스 간의 코드 중복을 방지하는 방법

분류에서Dev

es6 클래스에서 생성자로 사용하기 위해 한 클래스를 다른 클래스에 주입하는 방법

분류에서Dev

컨테이너화 된 방식으로 다른 클래스의 속성을 수정하는 클래스 메서드를 테스트하는 방법 rspec

분류에서Dev

자바 스크립트에서이 컨텍스트가 다른 동일한 "클래스"의 다른 메서드를 호출 하시겠습니까?

분류에서Dev

프로토 타입 속성이 자바 스크립트의 수퍼 클래스에서 하위 클래스로 위임되는 방법

분류에서Dev

자바 스크립트의 클래스 이름에서 속성과 동일한 이름의 함수를 선언하는 방법은 무엇입니까?

분류에서Dev

Java의 다른 클래스에서 한 클래스에서 JTextField로 부울을 설정하는 방법

분류에서Dev

Python의 수퍼 클래스와 다른 메서드 서명을 사용하여 하위 클래스를 구현하는 적절한 방법이 있습니까?

분류에서Dev

한 클래스에서 다른 클래스로 메서드를 호출하는 방법

분류에서Dev

한 클래스에서 다른 클래스로 메서드를 호출하는 방법

분류에서Dev

한 클래스의 함수를 다른 클래스의 다른 함수의 인수로 전달하는 방법

분류에서Dev

부모 클래스에서 다양한 자식 클래스로 개체 목록을 캐스팅하는 올바른 방법

분류에서Dev

자신의 클래스를 다른 클래스로 변환하는 방법

분류에서Dev

포인터 C ++를 사용하여 클래스의 소멸자를 다른 클래스로 만드는 방법은 무엇입니까? 한 방향 목록 컨테이너 클래스 및 노드 클래스와 같은 것

분류에서Dev

봄 이벤트를 게시 할 때 한 클래스가 다른 클래스 메서드를 호출 함을 UML로 표현하는 방법

분류에서Dev

장고 모델에서 슬러그를 한 클래스에서 다른 클래스로 상속하는 방법

분류에서Dev

자바 스크립트의 다른 클래스에서 함수 사용

분류에서Dev

자바 스크립트를 사용하여 웹 사이트에서 텍스트를 복사하는 동안 텍스트 서식을 포함하는 방법

분류에서Dev

한 클래스의 메서드에 액세스하고 다른 클래스의 메서드를 Flutter (DART)에서 호출하는 방법

분류에서Dev

한 활동에서 다른 활동으로 ArrayList의 클래스 클래스를 전달하는 방법

분류에서Dev

자바 스크립트를 통해 한 파일에서 다른 파일로 PHP 값을 전달하는 방법

분류에서Dev

SwingWorker : process () 메서드의 값을 다른 클래스로 위임하는 방법

분류에서Dev

한 클래스에서 다른 클래스의 목록을 읽는 방법

Related 관련 기사

  1. 1

    자바 스크립트에서 다른 클래스의 인스턴스를 통해 다른 클래스 내부의 메소드에 액세스하는 방법

  2. 2

    이 자바 스크립트 코드에서 다른 클래스를 속성 지정하는 방법

  3. 3

    한 Python 스크립트 클래스에서 다른 Python 스크립트로 값을 전송하는 방법

  4. 4

    한 클래스의 메서드를 다른 클래스의 기본 메서드로 표시하는 방법

  5. 5

    Ruby 클래스에서 클래스 메서드 및 속성을 정의하는 올바른 방법

  6. 6

    다른 클래스의 on click 메소드를 사용하여 한 클래스의 값을 전달하는 방법

  7. 7

    서로 다른 클래스를 확장하는 두 개의 유사한 클래스 간의 코드 중복을 방지하는 방법

  8. 8

    es6 클래스에서 생성자로 사용하기 위해 한 클래스를 다른 클래스에 주입하는 방법

  9. 9

    컨테이너화 된 방식으로 다른 클래스의 속성을 수정하는 클래스 메서드를 테스트하는 방법 rspec

  10. 10

    자바 스크립트에서이 컨텍스트가 다른 동일한 "클래스"의 다른 메서드를 호출 하시겠습니까?

  11. 11

    프로토 타입 속성이 자바 스크립트의 수퍼 클래스에서 하위 클래스로 위임되는 방법

  12. 12

    자바 스크립트의 클래스 이름에서 속성과 동일한 이름의 함수를 선언하는 방법은 무엇입니까?

  13. 13

    Java의 다른 클래스에서 한 클래스에서 JTextField로 부울을 설정하는 방법

  14. 14

    Python의 수퍼 클래스와 다른 메서드 서명을 사용하여 하위 클래스를 구현하는 적절한 방법이 있습니까?

  15. 15

    한 클래스에서 다른 클래스로 메서드를 호출하는 방법

  16. 16

    한 클래스에서 다른 클래스로 메서드를 호출하는 방법

  17. 17

    한 클래스의 함수를 다른 클래스의 다른 함수의 인수로 전달하는 방법

  18. 18

    부모 클래스에서 다양한 자식 클래스로 개체 목록을 캐스팅하는 올바른 방법

  19. 19

    자신의 클래스를 다른 클래스로 변환하는 방법

  20. 20

    포인터 C ++를 사용하여 클래스의 소멸자를 다른 클래스로 만드는 방법은 무엇입니까? 한 방향 목록 컨테이너 클래스 및 노드 클래스와 같은 것

  21. 21

    봄 이벤트를 게시 할 때 한 클래스가 다른 클래스 메서드를 호출 함을 UML로 표현하는 방법

  22. 22

    장고 모델에서 슬러그를 한 클래스에서 다른 클래스로 상속하는 방법

  23. 23

    자바 스크립트의 다른 클래스에서 함수 사용

  24. 24

    자바 스크립트를 사용하여 웹 사이트에서 텍스트를 복사하는 동안 텍스트 서식을 포함하는 방법

  25. 25

    한 클래스의 메서드에 액세스하고 다른 클래스의 메서드를 Flutter (DART)에서 호출하는 방법

  26. 26

    한 활동에서 다른 활동으로 ArrayList의 클래스 클래스를 전달하는 방법

  27. 27

    자바 스크립트를 통해 한 파일에서 다른 파일로 PHP 값을 전달하는 방법

  28. 28

    SwingWorker : process () 메서드의 값을 다른 클래스로 위임하는 방법

  29. 29

    한 클래스에서 다른 클래스의 목록을 읽는 방법

뜨겁다태그

보관