Sair da função JavaScript

Harshit Jindal 12 outubro 2023
  1. Use return para sair de uma função em JavaScript
  2. Use break para sair de uma função em JavaScript
  3. Use try...catch para sair de uma função em JavaScript
Sair da função JavaScript

Este tutorial explica como podemos sair mais cedo de uma função em JavaScript.

Muitas vezes nos deparamos com situações em que queremos sair mais cedo de uma função, como quando uma condição específica é satisfeita. Mas JavaScript não tem uma função explícita como outras linguagens de programação, como C++, PHP, etc. Métodos diferentes nos ajudam a sair mais cedo de uma função.

Existem três formas principais que o JavaScript fornece explicitamente para sairmos de uma função antes do seu fluxo natural, nomeadamente return, break e try...catch.

Use return para sair de uma função em JavaScript

Podemos sair de uma função usando a instrução return quando uma condição específica for atendida. Podemos sair de uma função usando apenas a instrução return ou return um valor da função.

function divide(a, b) {
  if (b == 0) {
    return 'invalid b';
  } else
    return a / b;
}

console.log(divide(5, 2));
console.log(divide(5, 0));

Resultado:

2.5
invalid b

Nesta função, primeiro verificamos se b é 0 para descartar o caso de divisão inválida porque dividir um número por 0 retorna infinito, portanto, saímos da função mais cedo, retornando uma string declarando que o valor de b é inválido. A instrução que realiza a divisão de a e b nunca é executada.

Use break para sair de uma função em JavaScript

O break é tradicionalmente usado para sair de um loop for, mas pode ser usado para sair de uma função usando rótulos dentro da função.

const logIN = () => {
  logIN: {console.log('I get logged in'); break logIN;
          // nothing after this gets executed
          console.log('I don\'t get logged in');}
};
logIN();

Resultado:

I get logged in

Aqui, usamos o rótulo logIN e, em seguida, break o label para sair da função mais cedo.

Use try...catch para sair de uma função em JavaScript

Podemos usar o bloco try...catch para sair da função mais cedo, lançando uma exceção.

function myFunc() {
  var a = 100;
  try {
    if (typeof (a) != 'string') throw (a + ' is not a string');
  } catch (e) {
    alert('Error: ' + e);
  }

  a++;
  return a;
}
myFunc();

Resultado:

Error: 100 is not a string

Lançamos uma exceção para interromper o fluxo normal e o bloco catch captura essa exceção e, em seguida, saímos da função deixando todas as outras instruções não executadas.

Todos os principais navegadores oferecem suporte a todas essas três maneiras.

Harshit Jindal avatar Harshit Jindal avatar

Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.

LinkedIn

Artigo relacionado - JavaScript Function