Поскольку классы ES6 - это всего лишь синтаксический сахар по сравнению с существующим на основе прототипов на основе JavaScript [1], он (IMO) имеет смысл поднять его определение:
var foo = new Foo(1, 2); //this works
function Foo(x, y) {
this.x = x;
this.y = y;
}
Но следующее не будет работать:
var foo = new Foo(1, 2); //ReferenceError
class Foo {
constructor(x, y) {
this.x = x;
this.y = y;
}
}
Почему классы ES6 не подняты?