significado datos ariedad aridad javascript functional-programming arity

javascript - datos - Obtener la aridad de una función.



aridad base de datos (5)

Como se cubre en otras respuestas, la propiedad length te lo dice. Entonces zero.length será 0, one.length será 1, y two.length será 2.

A partir de ES2015, tenemos dos arrugas:

  • Las funciones pueden tener un parámetro de "descanso" al final de la lista de parámetros que reúne cualquier argumento dado en esa posición o después en una verdadera matriz (a diferencia de los arguments pseudo-matriz)
  • Los parámetros de función pueden tener valores por defecto.

El parámetro "resto" no se cuenta al determinar la aridad de la función:

function stillOne(a, ...rest) { } console.log(stillOne.length); // 1

De manera similar, un parámetro con un argumento predeterminado no se agrega a la aridad y, de hecho, evita que otros que lo sigan agreguen, incluso si no tienen valores predeterminados explícitos (se supone que tienen un valor predeterminado silencioso de undefined ) :

function oneAgain(a, b = 42) { } console.log(oneAgain.length); // 1 function oneYetAgain(a, b = 42, c) { } console.log(oneYetAgain.length); // 1

En Javascript, ¿cómo se puede determinar el número de parámetros formales definidos para una función?

Tenga en cuenta que este no es el parámetro de arguments cuando se llama a la función, sino la cantidad de argumentos con los que se definió la función.

function zero() { // Should return 0 } function one(x) { // Should return 1 } function two(x, y) { // Should return 2 }


La aridad de una función se almacena en su propiedad .length .

function zero() { return arguments.callee.length; } function one(x) { return arguments.callee.length; } function two(x, y) { return arguments.callee.length; } > console.log("zero="+zero() + " one="+one() + " two="+two()) zero=0 one=1 two=2


La propiedad de aridad utilizada para devolver el número de argumentos esperados por la función, sin embargo, ya no existe y ha sido reemplazada por la propiedad Function.prototype.length.


Una función arity es el número de parámetros que contiene la función. Puede alcanzarse llamando a la propiedad length.

Ejemplo:

function add(num1,num2){} console.log(add.length); // --> 2 function add(num1,num2,num3){} console.log(add.length); // --> 3

Nota: el número de parámetros pasados ​​en una llamada de función no afecta la aridad de la función.


> zero.length 0 > one.length 1 > two.length 2

Source

Una función puede determinar su propia aridad (longitud) de esta manera:

// For IE, and ES5 strict mode (named function) function foo(x, y, z) { return foo.length; // Will return 3 } // Otherwise function bar(x, y) { return arguments.callee.length; // Will return 2 }