https://velog.io/@jyo____c/TIL221216
위 글에 이어서...
new Error()로 만든 커스텀 에러를 한 번도 출력하지 않은 상태로 name과 message를 바꾼 후에 console.log를 출력하면, 바꾼대로 잘 출력되는 결과를 확인했다.
const myError = new Error('making error');
// console.log(myError);
myError.name = 'name';
myError.message = 'message';
console.log(myError);
// name: message
두번째 줄의 주석을 해제하는 경우, 마지막 출력은 'Error: making error'로 달라진다.
이는 에러가 스택에 쌓이는 구조라 그렇다고 한다.
console.dir(myError)
로 확인해보면 그 내용을 확인할 수 있는데, Error: making error
는 stack
에 저장되어 있고, 처음에 선언하자마자 확인하는 경우에는 name
속성은 없이 message
만 making error
로 되어있다.
결과적으로 console.log를 찍었을 때 메시지가 바뀌길 원한다면 stack을 바꿔주면 되는 것!