Как работает код создания своей обработки ошибки?

Натолкнулся на такой код, но не совсем понял, как он работает

function MyError(message) {
  this.name = 'MyError';
  this.message = message || 'Сообщение по умолчанию';
  this.stack = (new Error()).stack; - что означает стак, как он работает и для чего он тут?
}

MyError.prototype = Object.create(Error.prototype); Зачем присваивать прототипу Обжект криейт еррор прототайп? И почему тут прототай, а не proto? Или proto только у экземпляров функций конструкторов?

MyError.prototype.constructor = MyError; Для чего эта запись, где мы прототипу присваиваем ссылку на нашу функцию?


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