I found out that I can extend Object like this:

class MyObject extends Object {}

Is there any difference with this and not extending at all, like this:

class MyObject {}

The reason I ask this is because I have the following mixin:

const MapMixin = (Base = Object) => class extends Base { static from(array) { return new this(Object.assign(...array.map(([key, value]) => ({[key]: value})))); } map(...args) { return this.constructor.from(this.entries().map(...args)); } entries() { return Object.entries(this); } };

This mixin could be used like this:

class MyObject extends MapMixin(MyBaseClass) {}

But if there is no base class, I now have specified that it then extends Object as default:

class MyObject extends MapMixin() {}

So I'm wondering, if this practically works the same as not extending anything at all.