* change es6 challenges rest operator to param * fix rest parameter typos * change rest operator to parameter in guide * fix casing * change rest operator to rest parameter in guide * change rest operator to rest parameter in curriculum * remove extra whitespace * remove whitespaces * remove whitespace * fix: removed arabic file * fix: removed chinese file
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Function Length
 | |
| ---
 | |
| ## Function Length
 | |
| 
 | |
| The `length` property on the function object holds the number of arguments expected by the function when called.
 | |
| 
 | |
| ```javascript
 | |
| 
 | |
| function noArgs() { }
 | |
| 
 | |
| function oneArg(a) { }
 | |
| 
 | |
| console.log(noArgs.length); // 0
 | |
| 
 | |
| console.log(oneArg.length); // 1
 | |
| ```
 | |
| 
 | |
| ### ES2015 Syntax
 | |
| 
 | |
| ES2015, or ES6 as it is commonly called, introduced the rest parameter and default function parameters. Both of these additions change the way the `length` property works.
 | |
| 
 | |
| If either the rest parameter or default parameters are used in a function declaration the `length` property will only include the number of arguments before a rest parameter or a default parameter.
 | |
| 
 | |
| ```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
 | |
| ```
 | |
| 
 | |
| More Information on `Function.length` can be found on [Mozilla's MDN Docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length).
 | |
| 
 |