La propiedad length en JavaScript puede cumplir con tres diferentes funciones. Todo dependiendo el contexto en el que se ejecute.

const str = "Fili";
console.log(str.length); // 4

const array = [23, 43, 12, 4, 6, 9, 12];
console.log(array.length); // 7

const hi = (firstname, lastname) => { 
	console.log(`Hi ${firstname} ${lastname}!`); 
}

console.log(hi.length) // 2

Array

En un array representa la cantidad de elementos que este tenga, aunque también sirve para establecerlos.

const animals = ["🐓", "🐄", "🐠", "🐙", "🦜"];
console.log(animals.length); // 5

animals.length = 3;
console.log(animals); // ["🐓", "🐄", "🐠"]

La longitud máxima de un array tiene que ser un número entero (positivo) y menor que 2 a la 32.

const invalidArray = new Array(Math.pow(2, 32));
console.log(invalidArray); // Invalid array length

const array = new Array(Math.pow(2, 32) - 1);
console.log(array); // 4294967295

String

En un string representa el número de caracteres que este tenga, usando el formato UTF-16.

const texto = "Un ejemplo de length";
console.log(texto.length); // 20

Función

En una función representa la cantidad de argumentos esperados.

const hi = (firstname, lastname) => { 
	console.log(`Hi ${firstname} ${lastname}!`); 
}

const bye = () => {
  console.log("Bye!");
}

console.log(hi.length) // 2
console.log(bye.length) // 0

Recursos