ReferenceError: “x” is not defined / Can’t find variable: x

Description

Erreur indiquant que l’attribut “x” n’a pas été annoncé préalablement avec un const / var / ou let. Ce message varie selon que vous soyez sur Safari, ou sur Firefox / Chrome.

Causes possibles

  1. Il vous manque un var x; let x; ou const x;
  2. il y a une erreur de portée : la variable a été définie dans un endroit, et n’est pas accessible depuis un autre endroit où l’erreur a été générée

Résolutions

  1. var / let / const se résout facilement en ajoutant our chaque collider / overlap, vérifier que les 2 objets paramètres impliqués sont bien déclarés avant le collider / overlap, et non après
  2. Une erreur de portée est plus complexe. Si vous avez déclaré var x; à l’intérieur de create(), il est normal par exemple qu’on ne puisse pas y avoir accès à l’intérieur de update(), qui sont deux fonctions isolées. Il faut donc :
    • soit extraire le var x; de create() et le positionner en tant que variable globale à l’extérieur de la fonction,
    • soit transformer x en attribut de classe, en remplaçant x par this.x. De cette façon x est désormais attribut de la scène et est accessible dans la méthode create() ou update() de la même scène.

Plus d’infos

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Not_defined

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

84 − = 75