반응형
오류 발생 ( 'msg') vs 새 오류 발생 ( '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
반응형
'programing tip' 카테고리의 다른 글
보유 할 수있는 JSON의 양에는 제한이 있습니까? (0) | 2020.06.12 |
---|---|
기본 생성자와 소멸자에서 "= default"는 "{}"과 어떻게 다릅니 까? (0) | 2020.06.12 |
이 확인란은 어떻게 작동하며 어떻게 사용합니까? (0) | 2020.06.12 |
HTML : 선택적인 닫기 태그를 포함 또는 제외 하시겠습니까? (0) | 2020.06.12 |
장고 모델 사용자 정의 save () 메소드에서 새 객체를 어떻게 식별해야합니까? (0) | 2020.06.10 |