Funções aninhadas em JavaScript

Funções aninhadas em JavaScript

Funções são um bloco de código útil que pode ser chamado em qualquer lugar exigido em um programa. Uma função aninhada é uma função dentro de uma função. Esse recurso é suportado em muitas linguagens de programação, JavaScript incluído.

Apresentaremos funções aninhadas em JavaScript neste tutorial.

A função externa é denominada função externa. A função aninhada dentro é chamada de função interna. Cada função pode aceitar argumentos diferentes.

Eles podem ser implementados da seguinte maneira.

function a(x) {    // Outer function
  function b(y) {  // inner function
    return x - y;
  }
  return b;
}

console.log(a(5)(4))

Produção:

1

No exemplo acima, a() é a função externa e b() é a função interna. O resultado final retornado usa os argumentos de ambas as funções.

Funções são objetos de classe que podem ser definidos na função externa e criados como uma variável em qualquer parte da função. Este método é denominado currying.

Veja o código abaixo.

function outer(x) {
  var w = function inner(y) {
    return x * y;
  } return w;
};

var outvar = outer(2);
console.log(outvar(4));

Produção:

8

As funções aninhadas têm outro benefício. Eles podem ser usados ​​para realizar cálculos dentro de outra função, mesmo que sejam definidos externamente.

Por exemplo,

function calculate(a, b, fn) {
  var c = a + b + fn(a, b);
  return c;
}

function sum(a, b) {
  return a + b;
}

function product(a, b) {
  return a * b;
}


console.log(calculate(10, 20, sum));
console.log(calculate(10, 20, product));

Produção:

60
230
Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se

Artigo relacionado - JavaScript Function