Вопрос по Array.from({length: n}? Что значит {}

Решал задачки на codewars и в лучших решениях увидел, такое. Но, возник вопрос, что означают фигурные скобки Array.from({length: n} нигде не могу найти информацию.

function towerBuilder(n) {
  return Array.from({length: n}, function(v, k) {
    const spaces = ' '.repeat(n - k - 1);
    return spaces + '*'.repeat(k + k + 1) + spaces;
  });
}

Ответы (1 шт):

Автор решения: Konstantin Modin

Скобки обозначают объект. По спецификации данный объект должен иметь свойство length, второй аргумент (опциональный) - map-функция, которая проходит по каждому элементу массива (изначально undefined). Третий опциональный аргумент который принимает Array.from - необходимый this для map-функции. Пример:

const objectWithLength = {length : 3}
const a = Array.from(objectWithLength);

objectWithLength.length = 4;
const mapFunction = (item, idx) => idx + 1;
const b = Array.from(objectWithLength, mapFunction);

console.log('a', a);
console.log('b', b);

→ Ссылка