Javascript에서 Error 메시지 반환

He SEO·2022년 8월 31일
0

문제

에러가 발생하여 내가 커스터마이징한 형식대로 반환 하려고 하는데 eslint에서 걸린다.

// 이렇게 반환하고 싶은데요
if (result === false) throw {code: 100}

하지만 에러가 발생해 프로그램이 돌아가게 해주지 않는데.

Expected an object to be thrown no-throw-literal

이 규칙은 throw할 수 있는 것을 제한한다. Error 객체나 Error를 extend 하는 사용자 정의 객체가 아니면 throw할 수 없게 막는다.

해결책

Error 객체를 extend 해서 던져주면 된다.

throw Object.assign(new Error(), {code: 100})

여기서 Object.assign() 메소드는 뭘까?
source 객체의 속성을 복사해 target 객체에 붙여넣은 후 그 값을 반환한다.

const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };

const returnedTarget = Object.assign(target, source);
console.log(target);
// Object { a: 1, b: 4, c: 5 }
console.log(returnedTarget);
// Object { a: 1, b: 4, c: 5}

참고 사이트

profile
BACKEND 개발 기록 중. 감사합니다 😘

0개의 댓글