Чтобы создать функцию-фабрику объектов с возможностью задать дефолтные поля объекта в TypeScript, можно использовать синтаксис параметров по умолчанию и оператор spread.
Вот пример реализации такой функции-фабрики:
// Определяем интерфейс для объекта interface MyObject { id: number; name: string; age: number; } // Функция-фабрика function createObject({ id = 0, name = "", age = 0 }: Partial<MyObject>): MyObject { return { id, name, age }; } // Пример использования const obj1 = createObject({ id: 1, name: "John", age: 25 }); console.log(obj1); // { id: 1, name: 'John', age: 25 } const obj2 = createObject({ id: 2, name: "Alice" }); console.log(obj2); // { id: 2, name: 'Alice', age: 0 } const obj3 = createObject({}); console.log(obj3); // { id: 0, name: '', age: 0 }
В данном примере, мы определили интерфейс MyObject
, который описывает структуру объекта. Функция createObject
принимает параметр типа Partial<MyObject>
, используя синтаксис параметров по умолчанию и оператор spread. Затем, внутри функции, мы создаем новый объект, используя заданные значения или значения по умолчанию. Функция возвращает объект типа MyObject
.
В примере использования мы вызываем createObject
с различными наборами значений. Если значения не указаны, то будут использованы значения по умолчанию.
Надеюсь, это поможет вам создать функцию-фабрику объектов с возможностью задания дефолтных полей в TypeScript.