Sobes.tech
Back to questions
Middle
7

Как получить длину обычного объекта через свойство length? Как добавить метод length всем объектам через прототип?

Companies where asked
Цифротех

Answer from AI

sobes.tech AI

В JavaScript длину у объектов напрямую через свойство length получить нельзя, так как оно есть только у массивов и строк. Если у объекта есть свойство length, можно обратиться к нему как obj.length.

Чтобы добавить метод length всем объектам через прототип, можно расширить Object.prototype, например:

Object.prototype.length = function() {
  return Object.keys(this).length;
};

const obj = {a: 1, b: 2, c: 3};
console.log(obj.length()); // 3

Здесь метод length возвращает количество собственных перечисляемых свойств объекта. Важно помнить, что расширение Object.prototype не всегда рекомендуется, так как может привести к конфликтам и неожиданному поведению.