“UnEught ReferenceError: isto não está definido” no construtor de class

Eu estou jogando com o novo material em JavaScript / ES6. Eu recebo um Uncaught ReferenceError: this is not defined(...) player.js:5 no meu código. Tanto quanto eu vejo, não há erros aqui! Isso é um inseto? Alguma solução alternativa?

index.html

      Test    initialize();   

entity.js

 "use strict"; class Entity { constructor() { console.log("Entity"); } } 

player.js

 "use strict"; class Player extends Entity { constructor() { console.log("Created"); // <- error here } } 

Este é um fato da nova syntax de class. Sua subclass precisa chamar super() para que a class seja inicializada corretamente, por exemplo

 super(arg1, arg2, argN); 

com qualquer argumento que o construtor pai precise.

É necessário que, se a execução atingir o final de uma function constructor , o valor this precise ser inicializado para algo. Você precisa estar em uma class base (onde this é auto-inicializado), ter chamado super() para que this seja inicializado ou return um object alternativo.

 class Player extends Entity { constructor() { super(); console.log("Created"); ;// error here } } 

Você pode pensar nisso como funções constructor têm um return this automático ao final delas.