Function: length

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Thuộc tính dữ liệu length của một instance Function cho biết số lượng tham số mà hàm đó mong đợi.

Try it

function func1() {}

function func2(a, b) {}

console.log(func1.length);
// Expected output: 0

console.log(func2.length);
// Expected output: 2

Giá trị

Một số.

Property attributes of Function: length
Writableno
Enumerableno
Configurableyes

Mô tả

Thuộc tính length của một đối tượng Function cho biết hàm đó nhận bao nhiêu đối số, tức là số lượng tham số hình thức:

Ngược lại, arguments.length là cục bộ của một hàm và cung cấp số lượng đối số thực sự được truyền vào hàm đó.

Bản thân constructor Function cũng là một đối tượng Function. Thuộc tính dữ liệu length của nó có giá trị là 1.

Do các lý do lịch sử, Function.prototype tự thân có thể được gọi. Thuộc tính length của Function.prototype có giá trị là 0.

Ví dụ

Sử dụng function length

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

console.log((() => {}).length); // 0
console.log(((a) => {}).length); // 1
console.log(((a, b) => {}).length); // 2 etc.

console.log(((...args) => {}).length);
// 0, rest parameter is not counted

console.log(((a, b = 1, c) => {}).length);
// 1, only parameters before the first one with
// a default value are counted

console.log((({ a, b }, [c, d]) => {}).length);
// 2, destructuring patterns each count as
// a single parameter

Đặc tả

Specification
ECMAScript® 2027 Language Specification
# sec-function-instances-length

Tương thích trình duyệt

Xem thêm