Introdução
Neste laboratório, exploraremos como chamar funções com contexto usando uma closure em JavaScript. Aprenderemos como passar uma chave e um conjunto de argumentos para uma função e, em seguida, chamá-la com o contexto fornecido. Através de exemplos práticos, veremos como essa técnica pode ser usada para simplificar o código e torná-lo mais legível.
Como Chamar Funções com Contexto em JavaScript
Para executar código em Node.js, abra o Terminal/SSH e digite node. Se você deseja chamar uma função com um contexto específico e um conjunto de argumentos em JavaScript, pode usar uma closure. Veja como você pode fazer isso:
- Defina uma função chamada
callque recebe umakeye um conjunto deargscomo parâmetros e retorna uma nova função que recebe um parâmetrocontext.
const call =
(key, ...args) =>
(context) =>
context[key](...args);
- Use a função
callpara chamar a funçãomapem um array de números. Neste exemplo, a funçãomapduplica cada número no array.
Promise.resolve([1, 2, 3])
.then(call("map", (x) => 2 * x))
.then(console.log); // [ 2, 4, 6 ]
- Você também pode associar a função
calla uma chave específica, comomap, e usá-la para chamar a funçãomapem um array de números.
const map = call.bind(null, "map");
Promise.resolve([1, 2, 3])
.then(map((x) => 2 * x))
.then(console.log); // [ 2, 4, 6 ]
Ao usar a função call, você pode facilmente chamar qualquer função com um contexto específico e um conjunto de argumentos.
Resumo
Parabéns! Você concluiu o laboratório "Chamar Funções com Contexto". Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.