Sair da função JavaScript
-
Use
return
para sair de uma função em JavaScript -
Use
break
para sair de uma função em JavaScript -
Use
try...catch
para sair de uma função em 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 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