--- title: Function.length slug: Web/JavaScript/Reference/Global_Objects/Function/length tags: - Function - JavaScript - Властивість translation_of: Web/JavaScript/Reference/Global_Objects/Function/length ---
Властивість length зазначає кількість параметрів, очікуваних функцією.
length - це властивість функціонального об'єкта, вона вказує, скільки аргументів очікує функція, тобто кількість формальних параметрів. Ця кількість не включає {{jsxref("rest_parameters", "залишкові параметри", "", 1)}}, і рахує лише параметри до першого, що має значення по замовчуванню. Для контрасту, властивість {{jsxref("Functions/arguments/length", "arguments.length")}} є локальною властивістю функції, і надає кількість аргументів, що фактично передані у функцію.
Конструктор {{jsxref("Function")}} теж є об'єктом {{jsxref("Function")}}. Його властивість length має значення 1. Атрибути властивості такі: Writable (доступний для запису): false, Enumerable (доступний для переліку): false, Configurable (доступний для налаштування): true.
Властивість об'єкта прототипу {{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")}}