Skip to content
← Back to rules

unicorn/throw-new-error 스타일

An auto-fix is available for this rule.

작동 방식

이 규칙은 오류를 던질 때 항상 new를 사용하도록 보장합니다.

왜 문제가 될까?

자바스크립트에서는 new를 생략하는 것이 허용됩니다 (예: throw Error('메시지')). 하지만 이 경우 오류 객체가 올바르게 초기화되지 않습니다. 이로 인해 스택 트레이스가 누락되거나 잘못된 프로토타입 체인이 발생할 수 있습니다. new를 사용하면 의도가 명확해지고, 일관된 동작을 보장하며, 미묘한 버그를 피하는 데 도움이 됩니다.

예시

이 규칙에 부적절한 코드 예시:

javascript
throw Error("🦄");
throw TypeError("unicorn");
throw lib.TypeError("unicorn");

이 규칙에 적절한 코드 예시:

javascript
throw new Error("🦄");
throw new TypeError("unicorn");
throw new lib.TypeError("unicorn");

사용 방법

이 규칙을 구성 파일 또는 명령줄 인터페이스에서 활성화하려면 다음을 사용하세요:

json
{
  "rules": {
    "unicorn/throw-new-error": "error"
  }
}
bash
oxlint --deny unicorn/throw-new-error

참고 자료