Herramientas de usuario

Herramientas del sitio


informatica:programacion:cursos:programacion_avanzada_javascript:desestructuracion

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
informatica:programacion:cursos:programacion_avanzada_javascript:desestructuracion [2024/10/17 12:34] – [DEMO: Operador spread] tempwininformatica:programacion:cursos:programacion_avanzada_javascript:desestructuracion [2024/10/17 12:42] (actual) – [DEMO: Parámetros rest] tempwin
Línea 471: Línea 471:
  
 ===== DEMO: Parámetros rest ===== ===== DEMO: Parámetros rest =====
 +
 +Llamamos parámetros //rest// a que podemos aplicar el operador //spread// como último parámetro de una función y este último parámetro será un array que contendrá todos los parámetros no nombrados de la función.
 +
 +<code javascript>
 +var foo = function(a, b, ...c) {
 +    console.log(a);
 +    console.log(b);    
 +    console.log(c);   
 +}
 +
 +foo(10, 20, 30); 
 +// 10
 +// 20
 +// Array [ 30 ]
 +
 +foo(10, 20, 30, 40, 50, 60);
 +// 10
 +// 20
 +// Array [ 30, 40, 50, 60 ]
 +</code>
 +
 +Los parámetros //rest// no fallan, por ejemplo, veamos qué pasa si le pasamos a la función todos los argumentos menos los //rest//:
 +
 +<code javascript>
 +foo(10, 20);
 +
 +// 10
 +// 20
 +// Array [ ]
 +</code>
 +
 +Vamos a ver diferencias con ''arguments'':
 +
 +<code javascript>
 +var foo = function(a, b, ...c) {
 +    console.log(a);
 +    console.log(b);    
 +    console.log(c);   
 +    console.log(arguments);
 +}
 +</code>
 +
 +Usamos:
 +
 +<code javascript>
 +foo(10, 20, 30, 40); 
 +// 10
 +// 20
 +// Array [ 30, 40 ]
 +// Arguments { , 7 more... }
 +</code>
 +
 +''arguments'' contiene todos los parámetros, ya sean nombrados o no. rest solo contiene los nombrados. El parámetro //rest// es un array, ''arguments'' no es un array, así que no podemos usar operaciones típicas de arrays (''map'', ''filter'').
informatica/programacion/cursos/programacion_avanzada_javascript/desestructuracion.1729161288.txt.gz · Última modificación: por tempwin