39 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| title: Function Length
 | ||
| localeTitle: Длина функции
 | ||
| ---
 | ||
| ## Длина функции
 | ||
| 
 | ||
| Свойство `length` на объекте функции содержит количество аргументов, ожидаемых функцией при вызове.
 | ||
| 
 | ||
| ```javascript
 | ||
| function noArgs() { } 
 | ||
|  
 | ||
|  function oneArg(a) { } 
 | ||
|  
 | ||
|  console.log(noArgs.length); // 0 
 | ||
|  
 | ||
|  console.log(oneArg.length); // 1 
 | ||
| ```
 | ||
| 
 | ||
| ### Синтаксис ES2015
 | ||
| 
 | ||
| ES2015 или ES6, как его обычно называют, вводили оператор останова и параметры функции по умолчанию. Оба эти дополнения изменяют способ работы с `length` .
 | ||
| 
 | ||
| Если в объявлении функции используется либо оператор останова, либо параметры по умолчанию, свойство `length` будет включать только количество аргументов перед оператором отдыха или параметр по умолчанию.
 | ||
| 
 | ||
| ```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 
 | ||
| ```
 | ||
| 
 | ||
| Более подробную информацию о `Function.length` можно найти [в Документах MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length) от [Mozilla](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length) . |