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