Estendendo a matriz com classes ES6

Ouvi dizer que o ES6 agora finalmente permite subclassificar Array. Aqui está um exemplo dado por

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

Claro, isso funciona. Mas no Traceur, pelo menos, definir o comprimento explicitamente não trunca a matriz. E ao imprimir via console.log, a saída está na forma de objeto e não na matriz, sugerindo que alguém não a esteja olhando como uma matriz "real".

Isso é um problema com a forma como o Traceur implementa objetos internos de subclassificação ou uma limitação do ES6?

questionAnswers(2)

yourAnswerToTheQuestion