Warning: unreachable code after return statement

Message

Warning: unreachable code after return statement (Firefox)

Type d'erreur

Avertissement

Quel est le problĂšme ?

Ce problĂšme peut avoir deux origines :

  • Une expression a Ă©tĂ© utilisĂ©e aprĂšs l'instruction return
  • Une instruction return a Ă©tĂ© utilisĂ©e sans point virgule mais une expression suivait cette instruction.

Lorsqu'une expression existe aprĂšs une instruction return valide, un avertissement est produit pour alerter qu'une portion du code ne peut pas ĂȘtre atteinte et ne sera donc jamais lue et exĂ©cutĂ©e.

Pourquoi est-il préférable d'ajouter des points-virgules aprÚs les instructions return ? Si on utilise une instruction return sans point-virgule, cela peut créer une ambiguïté : est-ce que le développeur souhaite que le code qui suit sur la ligne d'aprÚs soit exécuté ou non ? L'avertissement relÚve cette ambiguïté afin de mieux la percevoir pour la lever.

Les avertissements ne seront pas affichés pour les return sans point-virgule si ces instructions suivent :

Exemples

Exemples invalides

function f() {
  var x = 3;
  x += 4;
  return x;   // return permet de finir la fonction sur le champ
  x -= 3;     // Cette ligne ne sera jamais lue donc exécutée
}

function f() {
  return     // Cette instruction est traitée `return;`
    3 + 4;   // La fonction termine et cette ligne n'est jamais traitée
}

Exemples valides

function f() {
  var x = 3;
  x += 4;
  x -= 3;
  return x;  // OK : return est aprĂšs
             // toutes les autres instructions
}

function f() {
  return 3 + 4  // OK : un return sans point-virgule
                // avec une expression sur la mĂȘme ligne
}

Voir aussi