어떤 블로그에서 `return Error()`와 `return new Error()`를 혼용해서 사용하는 것을 보았다. `Error()`와 `new Error()`는 무슨 차이가 있을까.
`new Error()`는 `Error` 객체의 새 인스턴스를 만듭니다. `Error` 객체는 예외를 나타내는데 사용됩니다. 이 객체는 `name` 프로퍼티와 `message`프로퍼티를 가지며, `stack` 프로퍼티도 포함할 수 있습니다. `new Error()`를 호출하면 새로운 `Error` 객체가 생성되고, 해당 객체는 반환됩니다.
반면에 `Error()`는 `new Error()`와 다른 방식으로 사용됩니다. `Error()`를 호출하면 `new Error(message)`와 같은 결과가 나옵니다. 즉, `new` 키워드를 생략하여 `Error()`를 호출하면 `new Error(message)`와 동일한 결과가 반환됩니다.
예를 들어, 다음 두 코드는 동일한 결과를 반환합니다.
// new Error() 사용
const error1 = new Error("Something went wrong");
// Error() 사용
const error2 = Error("Something went wrong");
따라서 `new Error()`와 `Error()`는 결과적으로 동일합니다. 그러나 `new Error()`를 사용하는 것이 더 일관성 있고 명확합니다. 그 이유는 `new` 키워드를 사용하여 객체를 생성하는 것이 자바스크립트의 일반적인 패턴이기 때문입니다.
'TIL(Today I Learned)' 카테고리의 다른 글
React에서 함수형 컴포넌트를 장려하는 이유 (0) | 2023.03.15 |
---|---|
[예외 처리3]new Error() vs new Promise.reject() (0) | 2023.03.11 |
[예외발생1]return vs throw (0) | 2023.03.11 |
refresh token발급받기 (0) | 2022.08.23 |
WebSocket (0) | 2022.07.29 |