31 julio, 2019

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

Crea funciones genéricas en JavaScript

Suscríbete a nuestro canal en Youtube

Suscríbirse

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


Leido 3779 veces | 1 usuarios

Código fuente no disponible.

Compartir link del tutorial con tus amigos


Más tutoriales de Javascript

Codea Applications

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

© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024