Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

Mixins ใน JavaScript

JavaScript ไม่รองรับ multiple inheritance แต่บางครั้งต้องเพิ่ม functionality ของ 2 classes ให้ object เดียว Mixin คือวิธีเพิ่ม properties ให้ objects โดยไม่ใช้ inheritance

เช่น มี Person class ต้องการให้คนพูด Hi ได้ สร้าง sayHiMixin และใช้ทำให้ People พูด Hi ได้

ตัวอย่าง

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

ไม่มี inheritance เกี่ยวข้อง เราแค่ copy properties จากออบเจ็กต์หนึ่งไปอีกออบเจ็กต์ Person class ยังสามารถ inherit จาก class อื่นพร้อมใช้ mixin นี้ได้