--- title: Function.length slug: Web/JavaScript/Reference/Global_Objects/Function/length tags: - Function - JavaScript - Властивість translation_of: Web/JavaScript/Reference/Global_Objects/Function/length ---
{{JSRef}}

Властивість length зазначає кількість параметрів, очікуваних функцією.

{{EmbedInteractiveExample("pages/js/function-length.html")}}
{{js_property_attributes(0,0,1)}}

Опис

length - це властивість функціонального об'єкта, вона вказує, скільки аргументів очікує функція, тобто кількість формальних параметрів. Ця кількість не включає {{jsxref("rest_parameters", "залишкові параметри", "", 1)}}, і рахує лише параметри до першого, що має значення по замовчуванню. Для контрасту, властивість {{jsxref("Functions/arguments/length", "arguments.length")}} є локальною властивістю функції, і надає кількість аргументів, що фактично передані у функцію.

Властивість конструктора Function

Конструктор {{jsxref("Function")}} теж є об'єктом {{jsxref("Function")}}. Його властивість length має значення 1. Атрибути властивості такі: Writable (доступний для запису): false, Enumerable (доступний для переліку): false, Configurable (доступний для налаштування): true.

Властивість об'єкта прототипу Function

Властивість об'єкта прототипу {{jsxref("Function")}} має значення 0.

Приклади

console.log(Function.length); /* 1 */

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, b = 1, c) {}).length);
// 1, рахуються тільки параметри, розташовані до першого,
// який має значення за замовчуванням

Специфікації

Специфікація Статус Коментар
{{SpecName('ES1')}} {{Spec2('ES1')}} Початкове визначення. Реалізоване у JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.3.5.1', 'Function.length')}} {{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-function-instances-length', 'Function.length')}} {{Spec2('ES6')}} Атрибут configurable цієї властивості тепер дорівнює true.
{{SpecName('ESDraft', '#sec-function-instances-length', 'Function.length')}} {{Spec2('ESDraft')}}

Сумісність з веб-переглядачами

{{Compat("javascript.builtins.Function.length")}}

Див. також