//Ejemplo 1
función sumar1(){
if (arguments.length == 0){ document.write("NO Argument Passed!"); } else{ let sum = 0; for(let num in arguments){ sum += arguments[num]; } document.write(sum); } } add1(5,10);En este ejemplo, obtengo el resultado correcto.
//Ejemplo - 2 (con función de flecha)
sea suma = () => {
if( arguments.length == 0){ document.write("NO Argument Passed!"); } else{ let sum1 = 0; for(let number in arguments){ sum1 += arguments[number]; } document.write(sum1); } }; sum(10,20);* Aquí recibo un error en la consola "los argumentos no están definidos". Por favor, dime dónde hice mal. ¡Gracias!
Esto se debe a que las funciones de flecha no tienen enlaces de argumentos .
opción 1 cambiando la función de flecha para tomar un parámetro de arguments de matriz
let sum = (arguments) => { if( arguments.length == 0){ console.log("NO Argument Passed!"); } else{ let sum1 = 0; for(let number in arguments){ sum1 += arguments[number]; } console.log(sum1); } }; sum([10,20]);opción 2 resto de parámetros que permite una cantidad indefinida de argumentos
let sum = (...arguments) => { if( arguments.length == 0){ console.log("NO Argument Passed!"); } else{ let sum1 = 0; for(let number in arguments){ sum1 += arguments[number]; } console.log(sum1); } }; sum(10,20);