31 julio, 2019
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
Suscríbete a nuestro canal en Youtube
SuscríbirsePongamos 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.
© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024