SOURCE

class People{
    say1(){console.log(1)}
}

class Dog{
    say2(){console.log(2)}
}

class Singer{
    say3(){console.log(3)}
}

class Luck extends mix(People, Dog, Singer) {
    hello(){console.log(4)}
}

function mix(...func) {
    let obj = {};
    func.map(item => {
        Reflect.ownKeys(item.prototype).forEach(sub => {
            obj[sub] = item.prototype[sub]
        })
    })
    console.log(obj)
    let fn = function(){}
    fn.prototype = obj
    fn.prototype.constructor = fn
    console.log(fn)
    return fn
}

let me = new Luck();
console.log(me)
me.say1()
console 命令行工具 X clear

                    
>
console