Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript의 믹스인

<시간/>

JavaScript는 다중 상속을 지원하지 않습니다. 그러나 때로는 단일 개체에 2개의 클래스 기능을 추가해야 할 필요가 있습니다. Mixin은 상속을 사용하지 않고 객체에 속성을 추가하는 방법입니다.

예를 들어 Person 클래스가 있다고 가정해 보겠습니다. 그리고 우리는 사람들이 안녕이라고 말할 수 있기를 바랍니다. 우리는 sayHiMixin을 만들어 사람들이 인사하게 만드는 데 사용할 수 있습니다 -

예시

let sayHiMixin = {
   sayHi() {
      console.log(`Hello ${this.name}`);
   },
   sayBye() {
      console.log(`Bye ${this.name}`);
   }
};
class Person {
   constructor(name) {
      this.name = name;
   }
}
// copy the methods
Object.assign(Person.prototype, sayHiMixin);
new Person("John").sayHi();
복사

출력

Hello John

여기에 관련된 상속은 없습니다. 한 개체에서 다른 개체로 속성을 복사할 뿐입니다. 개인 클래스는 이 믹스인을 사용하는 동안 다른 클래스에서 상속할 수도 있습니다.