Что хранится в поле length
у JavaScript функций? Что будет выведено в консоль?
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Поле length
есть у многих сущностей в JavaScript.
Например, у массивов, в нем хранится количество элементов.
const arr = ['a', 'b', 'c'];
console.log(arr.length); // 3
У строк — количество символов, длина строки.
const welcomeMessage = 'Hello!';
const goodbyeMessage = 'Goodbye!';
const emptyString = '';
console.log(welcomeMessage.length); // 6
console.log(goodbyeMessage.length); // 8
console.log(emptyString.length); // 0
У объектов нет поля length
по умолчанию.
const user = { name: 'Jack', age: '32'};
console.log(user.length); // undefined
А у функций — оно есть. И хранится там совсем не “длина функции”, а количество параметров.
const sum = (a, b) => a + b;
const log = (s) => console.log(s);
const noop = () => {};
console.log(sum.length); // 2
console.log(log.length); // 1
console.log(noop.length); // 0
ОТВЕТ: В поле length
у всех JavaScript функций хранится количество параметров определенное при создании функции. Поэтому, на экране появятся значения:
1
0
Так как у функции sayHello
один параметр, а у confirmSubscription
параметров нет.