믹스인
-
믹스인은 객체 지향 언어에서 범용적으로 쓰이는 용어로, 다른 클래스들의 메서드 조합을 포함하는 클래스를 의미
-
JS 는 다중 상속을 지원하지 않지만 믹스인 사용하여 메서드 복사해 프로토타입에 붙여넣음으로써 구현 가능
-
Object.assign(Class.prototype, obj) 로 Class 에 메서드 복사해서 믹스인 구현 가능
-
Object.assign() 으로 믹스인 구현 시 메서드를 복사해도 메서드의 내부 프로퍼티인 [[HomeObject]]에 부모 메서드(복사 대상 된 메서드)의 Class 가 남으므로 Object 상속된 객체도 부모 객체 메서드 사용 가능
-
믹스인은 이벤트 핸들링 등의 행동을 추가하여 클래스 확장하는 용도로 사용 가능
-
믹스인이 실수로 기존 클래스 메서드 덮어쓸 시 충돌 발생 가능하므로 믹스인 만들 때 충돌 방지 위해 이름 신중히 설정