Ok, quick blog/rant here:
As someone who generally avoids using classes in JavaScript, this was completely new to me: The equality of class methods behaves inconsistently, like in the following examples.
What we would do in the old days of JavaScript to emulate class-like semantics, was to have a "constructor"-function create and return an object, thereby more or less instantiating this "class". This just uses the basic building blocks of JavaScript: Functions and Objects (not even inheritance). And it was fine.
var F = function () {
return {
foo: function () {