39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Function Length | ||
|  | localeTitle: Longitud de la función | ||
|  | --- | ||
|  | ## Longitud de la función
 | ||
|  | 
 | ||
|  | La propiedad de `length` en el objeto de función contiene el número de argumentos esperados por la función cuando se llama. | ||
|  | 
 | ||
|  | ```javascript | ||
|  | function noArgs() { }  | ||
|  |   | ||
|  |  function oneArg(a) { }  | ||
|  |   | ||
|  |  console.log(noArgs.length); // 0  | ||
|  |   | ||
|  |  console.log(oneArg.length); // 1  | ||
|  | ``` | ||
|  | 
 | ||
|  | ### Sintaxis ES2015
 | ||
|  | 
 | ||
|  | ES2015, o ES6 como se le llama comúnmente, introdujo los parámetros de la función predeterminada y el operador de descanso. Ambas adiciones cambian la forma en que funciona la propiedad `length` . | ||
|  | 
 | ||
|  | Si el operador de descanso o los parámetros predeterminados se utilizan en una declaración de función, la propiedad de `length` solo incluirá el número de argumentos antes de un operador de descanso o un parámetro predeterminado. | ||
|  | 
 | ||
|  | ```javascript | ||
|  | function withRest(...args) { }  | ||
|  |   | ||
|  |  function withArgsAndRest(a, b, ...args) { }  | ||
|  |   | ||
|  |  function withDefaults(a, b = 'I am the default') { }  | ||
|  |   | ||
|  |  console.log(withRest.length); // 0  | ||
|  |   | ||
|  |  console.log(withArgsAndRest.length); // 2  | ||
|  |   | ||
|  |  console.log(withDefaults.length); // 1  | ||
|  | ``` | ||
|  | 
 | ||
|  | Puede encontrar más información sobre `Function.length` en [los documentos MDN de Mozilla](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length) . |