Function.length
الخاصية Function.length
تُحدِّد عدد الوسائط الذي تتوقعه الدالة.
سمات الخاصية Function.length | |
---|---|
قابلة للكتابة | لا |
قابلة للإحصاء | لا |
قابلة للضبط | نعم |
الوصف
الخاصية length
التابعة لكائنات Function
تُشير إلى عدد الوسائط الذي تتوقعه الدالة، أي عدد المعاملات الرسمية (formal parameters)، وهذا العدد يستثني معامل البقية (rest parameter)، وسيتضمن المعاملات التي قبل أوّل معامل له قيمة افتراضية.
وفي المقابل، الخاصية arguments.length
تابعة للدالة محليًّا، وتوفِّر عدد الوسائط التي مُرِّرَت فعليًا إلى الدالة.
قيمة هذه الخاصية على الدالة البانية Function
الدالة البانية Function
هي نفسها كائن Function
، وقيمة الخاصية length
التابعة لها هي 1
.
قيمة هذه الخاصية على كائن prototype التابع للكائن Function
قيمة الخاصية length
لكائن prototype للكائن Function
هي 0
.
أمثلة
مثال يبيّن قيمة الخاصية length
التابعة للدالة البانية Function
:
console.log(Function.length); // 1
أمثلة مختلفة عن دوال عادية:
console.log((function() {}).length); // 0
console.log((function(a) {}).length); // 1
console.log((function(a, b) {}).length); // 2
أمثلة عن معامل البقية (rest parameter):
// لن يدخل معامل البقية في الحسبان
console.log((function(...args) {}).length); // 0
console.log((function(a, ...args) {}).length); // 1
مثال عن دالة لها معاملات افتراضية، لاحظ أنَّ القيمة المعادة هي 1
لأنَّ الخاصية length
لن تحصي إلا المعاملات الموجودة قبل أوّل قيمة افتراضية:
console.log((function(a, b = 1, c) {}).length); // 1
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition). أصبحت هذه الخاصية قابلةً للضبط (أي سمة
configurable
). - معيار ECMAScript 5.1.
- معيار ECMAScript 1st Edition .