IT

Srow Error('msg') vs Throw new Error('msg')

itgroup 2022. 10. 18. 21:40
반응형

Srow Error('msg') vs Throw new Error('msg')

var err1 = Error('message');
var err2 = new Error('message');

뭐가 다른데?크롬 콘솔로 보면 똑같아 보여요.객체의 동일한 속성 및 동일한 속성__proto__쇠사슬이요. 거의 마치Error공장처럼 행동합니다.

어떤 것이 맞습니까? 왜 맞습니까?

둘 다 괜찮습니다.이것은 사양에 명시되어 있습니다.

...이렇게 함수가 호출됩니다.Error(…)오브젝트 생성 식과 동일합니다.new Error(…)같은 주장을 하고 있습니다.

Error다른 네이티브 컨스트럭터와 마찬가지로 공장처럼 기능합니다.Array,Object등등. 모두 다음과 같은 것을 확인합니다.if (!(this instanceof Array)) { return new Array(arguments); }(단, 주의:String(x)그리고.new String(x)매우 다르며, 마찬가지로Number그리고.Boolean.)

즉, 에러가 발생했을 경우, 투척할 필요도 없습니다.Error오브젝트... throw 'Bad things happened';동작할 것이다
디버깅을 위해 오브젝트 리터럴을 던질 수도 있습니다.

throw {message:"You've been a naughty boy",
       context: this,
       args: arguments,
       more:'More custom info here'};

언급URL : https://stackoverflow.com/questions/13294658/throw-errormsg-vs-throw-new-errormsg

반응형