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) . |