Crea funciones genéricas en JavaScript

Aprende como se crea funciones genéricas en 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

Comparte el código!...talvez tu amigo lo necesite!

Whatsapp Messenger Facebook Twitter

Visitado 780 veces | Publicado hace 1 año

Curso Laravel 8 Página Web 100% Administrable

Mira el temario del curso en el siguiente link

VER EL CURSO

CÓDIGO FUENTE JAVASCRIPT

Logo Codea App

Develop your code

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

You Fb Tik Pin

© Todos los derechos reservados CODEA APP | Cursos de programación avanzados con proyectos reales | 2020 - 2021