Warning: unreachable code after return statement

Mensagem

Warning: unreachable code after return statement (Firefox)

Tipo de Erro

Warning

O que deu errado?

Codigo inacess√≠vel depois da declara√ß√£o de retorno pode ocorrer nas seguintes situa√ß√Ķes:

  • Quando usado em uma express√£o ap√≥s a declara√ß√£o de um return , ou
  • quando usado em uma express√£o return sem ponto e v√≠rgula por√©m incluindo uma express√£o diretamente depois.

Quando existe uma express√£o ap√≥s uma declara√ß√£o v√°lida de return, um warning √© dado para indicar que o c√≥digo depois da declara√ß√£o return √© inacess√≠vel, significando que ele pode nunca ser executado.

Porque eu devo usar ponto-e-virgula ap√≥s declara√ß√Ķes return? No caso de declara√ß√Ķes return sem ponto-e-v√≠rgula, ele pode deixar obscuro se o desenvolvedor quis usar o return na proxima linha, ou parar a execu√ß√£o e retornar. O warning indica que h√° uma ambiguidade no modo que a declara√ß√£o return foi escrita.

Warnings n√£o ser√£o mostrado para declara√ß√Ķes return sem ponto-e-v√≠rgula nas seguintes situa√ß√Ķes:

Exemplos

Casos Inv√°lidos

function f() {
  var x = 3;
  x += 4;
  return x;   // return exits the function immediately
  x -= 3;     // so this line will never run; it is unreachable
}

function f() {
  return     // this is treated like `return;`
    3 + 4;   // so the function returns, and this line is never reached
}

Casos V√°lidos

function f() {
  var x = 3;
  x += 4;
  x -= 3;
  return x;  // OK: return after all other statements
}

function f() {
  return 3 + 4  // OK: semicolon-less return with expression on the same line
}

Ver também