@GunAlv

Как правильно переложить поля одного объекта в другой?

Есть условный объект и объект ошибки:

const error = new Error();

const someObject = {
  message: 'Fail',
  count: 3,
};


Как правильно переложить поля из someObject в error?

UPD: при копировании типа error = { ...error, ...someObject } объект error перестает быть ошибкой, но становится обычным объектом
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
@dispache
let error = new Error('hello');

const someObject = {
  message: 'Fail',
  count: 3,
};

console.log(error.message) // hello

error = {...error, ...someObject};

console.log(error.message) // Fail
console.log(error.count) // 3


upd : возможна такая реализация с применением доп.класса, который расширяет класс Error

const someObject = {
  message: 'Fail',
  count: 3,
};

class CustomError extends Error {
    constructor(obj) {
        super();
        for ( let key in obj ) {
            this[key] = obj[key]
        }
    }
}

let error = new CustomError(someObject);

console.log(error) // объект ошибки
console.log(error.message); // Fail
console.log(error.count); // 3
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Я не уверен, но может так ?)
error(...someObject)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы