JavaScript свойство Function.length

JavaScript Function

Определение и применение

JavaScript свойство length объекта Function соответствует числу аргументов, ожидаемых функцией. Это значение не включает в себя rest параметры (...) и только включает параметры перед первым со значением по умолчанию. В отличие от этого свойства, свойство length объекта arguments, который является локальным для функции и предоставляет количество аргументов, реально переданных в функцию. Свойство Function.length доступно только для чтения.

Атрибуты свойства:

АтрибутЗначение
writablefalse
enumerablefalse
configurabletrue*

* - до реализации ECMAScript 2015 атрибут configurable имел значение false.

Подробную информацию о дескрипторах свойств вы можете получить в описании метода defineProperty(), который позволяет определить новое или изменить существующее свойство объекта, описывая его дескрипторами.

Поддержка браузерами

СвойствоChrome
Chrome
Firefox
Firefox
Opera
Opera
Safari
Safari
Internet Explorer
IExplorer
Microsoft Edge
Edge
lengthДаДаДаДаДаДа

JavaScript синтаксис:

function.length

Версия JavaScript

ECMAScript 1st Edition (реализовано в JavaScript 1.1)

Пример использования

// конструктор Function является объектом Function и его свойство length имеет значение 1
console.log( Function.length ); // возвращаемое значение 1

// свойство length объекта прототипа Function имеет значение 0
console.log( Function.prototype.length ); // возвращаемое значение 0

console.log( function() {}).length );               // возвращаемое значение 0
console.log( function( a ) {}).length );            // возвращаемое значение 1
console.log( function( a, b ) {}).length );         // возвращаемое значение 2
console.log( function( ...args ) {}).length );      // возвращаемое значение 0
console.log( function( a, ...args ) {}).length );   // возвращаемое значение 1 (не включает в себя rest параметры)
console.log( function( a, b, c = 1) {}).length );   // возвращаемое значение 2
console.log( function( a, b = 1, c ) {}).length );  // возвращаемое значение 1 (параметры до первого со значением по умолчанию)
JavaScript Function