I think you got something wrong there, mate. JS always had classes before. They just look a bit different:
function MyClass() {
this.foo = function() { console.log('Foo'); }
}
var myObj = new MyClass();
myObj.foo();
So it's not that discussed ;) The ES6 class keyword just makes it look more like a class compared to other programming languages, like C++. I think that is a good thing!
With ES6 class being just syntactical sugar, you even still can use all the old stuff. I, for example, like to make an interface with the class keyword, but have all methods throw 'Not Implemented' and then use prototype to implement them some place else. This results in a very clean and readable interface, as the declaration is always just one line:
'use strict';
class MyClass {
/**
* Do not forget to comment and document everything :)
*/
foo() { throw 'Not Implemented'; };
// many other methods declared here, but defined someplace else
};
// maybe even in some other file
MyClass.prototype.foo = function () { console.log('Foo'); };
// Use it the same way as before `class`
var myObj = new MyClass();
myObj.foo();
Since ES6 classes make things easier, I am pretty sure people will start using them and they will not be removed in the future.
As for your code example, you do it the same way as class is just syntactical sugar. It does not change how stuff works under the hood.
@mevrael: Question for you, since I get the feeling you do not understand that expression, yet: What do you think the term syntactical sugar means? . Since I am nice, here the solution: Write something differently (mostly shorter and more pleasing), but still do the same.