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

js
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

js
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