Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
"Real" Mixins with JavaScript Objects
let mix = (object) => ({
with: (...mixins) => mixins.reduce(
(c, mixin) => Object.create(
c, Object.getOwnPropertyDescriptors(mixin)
), object)

The original classes based version



let a = {a: 'a'};
let b = {b: 'b'};
let c = {c: 'c'};
let d = mix(c).with(a, b);

Would you consider working this up into a tested/released version with full class support? (I know it's pretty short, but so is the original code!)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment