Как работает код создания своей обработки ошибки?
Натолкнулся на такой код, но не совсем понял, как он работает
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;
Для чего эта запись, где мы прототипу присваиваем ссылку на нашу функцию?