Crea funciones genéricas en JavaScript

Funciones genericas para JavaScript

Crea funciones genéricas en JavaScript

Aprende como se crea funciones genéricas en JavaScript

Con ayuda del nuevo estándar de JavaScript ES6 logra manejar de forma fácil la creación de funciones genéricas las cuales te salvaran de varios problemas

Pongamos el caso que queremos crear una función para una calculadora. Quiero que se me indique como primer argumento la función a ejecutar y como siguientes argumentos infinitos números sobre los que realizar la operación. En JavaScript no podemos hacer algo como esto:

function calculator(operation, num1, num2, num3) {
    return operation(num1, num2, num3);
}

Bueno si, podemos hacerlo, pero no es genérico. Es una calculadora que solo permite operar sobre 3 números dados.

Una solución en ES5 suele ser la siguiente:

function calculator() {
    const args = Array.prototype.slice.call(arguments);
    const operation = args[0];
    const numbers = args.slice(1, args.length)

    return operation.apply(null, numbers);
}

function add() {
    return Array.prototype.slice.call(arguments)
        .reduce((total, num) => total + num, 0);
}

calculator(add, 1, 3, 4, 5, 6, 7);

Pues si usamos las mismas nuevas técnicas de ES6, podemos tener esta forma mucho más sencilla. Veamos como:

function calculator(operation, ...numbers) {
    return operation(...numbers);
}

function add(...numbers) {
    return numbers.reduce((total, num) => total + num, 0);
}

calculator(add, 1, 3, 4, 5, 6, 7);

Analiza el código y si tienes alguna duda no dudes dejar un comentario para poder ayudarte o brindarte nuevos ejemplos

No hay descargable

Redactado por: , Leido 2674 veces

Aprende más sobre JAVASCRIPT

Codea App
Codea App FullStack

Perú, México, Colombia, España, Venezuela, Argentina, Bolivia

You Fb Tik Pin

© Todos los derechos reservados Codea App | Cursos de programación | 2020 - 2022