Расширение массива с классами ES6
Я слышал, что ES6 теперь, наконец, позволяет создавать подклассы Array. Вот пример, данный
class Stack extends Array {
constructor() { super() }
top() { return this[this.length - 1]; }
}
var s = new Stack();
s.push("world");
s.push("hello");
console.log(s.top()); // "hello"
console.log(s.length); // 2
Конечно, это работает. Но в Traceur, по крайней мере, установка длины явно не усекает массив. А при печати через console.log выходные данные находятся в форме объекта, а не в виде массива, что говорит о том, что кто-то не рассматривает его как «настоящий» массив.
Это проблема с тем, как Traceur реализует встроенные объекты подклассов, или ограничение ES6?