Необязательный аргумент "properties" для Object.create()
не должен быть просто обычным объектом.Вместо этого он должен выглядеть как аргумент Object.defineProperties()
:
return Object.create(this, {
users: { value: filtered }
});
И если вы хотите, чтобы свойство было перечисляемым и доступным для записи и т. Д., Вы должны явно указать, что:
return Object.create(this, {
users: {
value: filtered,
enumerable: true,
writable: true
}
});
Как указано в комментарии ниже, эта функция возвращает новый объект, созданный с вызванным контекстом, поскольку прототип выглядит странно.Я не уверен, почему вы не просто
return new Admin(filtered, this.affiliation);
или что-то еще менее экзотическое.