Function.length

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

Атрибути поля Function.length
Доступний для запису ні
Доступний для переліку ні
Доступний для налаштування так

Опис

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

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

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

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

Властивість об'єкта прототипу 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, рахуються тільки параметри, розташовані до першого,
// який має значення за замовчуванням

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

Специфікація Статус Коментар
ECMAScript 1st Edition (ECMA-262) Standard Початкове визначення. Реалізоване у JavaScript 1.1.
ECMAScript 5.1 (ECMA-262)
The definition of 'Function.length' in that specification.
Standard
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Function.length' in that specification.
Standard Атрибут configurable цієї властивості тепер дорівнює true.
ECMAScript (ECMA-262)
The definition of 'Function.length' in that specification.
Living Standard

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

BCD tables only load in the browser

Див. також