uncaught tipos solucion orientado objetos not es6 ejemplos clases javascript ecmascript-6

javascript - tipos - uncaught referenceerror is not defined solucion



"Error de referencia no capturado: esto no está definido" en el constructor de la clase (1)

Este es un hecho de la nueva sintaxis de clase. Su subclase necesita llamar a super() para que la clase se inicialice correctamente, por ejemplo

super(arg1, arg2, argN);

con cualquier argumento que necesite el constructor padre.

Se requiere que, si la ejecución alcanza el final de una función de constructor , el valor de this debe haberse inicializado en algo. Debe estar en una clase base (donde se inicializa automáticamente), haber llamado super() para que se inicialice o return un objeto alternativo.

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

Puedes pensar que constructor funciones de constructor tienen un return this automático al final de ellas.

Estoy jugando con las cosas nuevas en JavaScript / ES6. Obtengo un Uncaught ReferenceError: this is not defined(...) player.js:5 en mi código. Por lo que veo, ¡no hay errores aquí! ¿Es esto un error? ¿Alguna solución?

index.html

<html> <head> <script type="text/javascript" src="js/entity.js"></script> <script type="text/javascript" src="js/player.js"></script> <link href="css/style.css" rel="stylesheet" type="text/css"> <title>Test</title> </head> <body> <canvas id="screen" width=500 height=500></canvas> <script type="text/javascript">initialize();</script> </body> </html>

entity.js

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

player.js

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