jsエラータイプ(6種類のエラータイプ)


jsのコンソールのエラーメッセージは主に2つのクラスに分けられ、1つ目は構文エラーであり、このエラーは事前解析中に発生するとjsファイル全体が実行できなくなります.別のエラーは例外と呼ばれ、エラーが発生したローの後のコードは実行できませんが、そのローの前のコードは影響を受けません.
SyntaxError
// SyntaxError:     
// 1)         
var 1       // Uncaught SyntaxError: Unexpected number
var 1a       // Uncaught SyntaxError: Invalid or unexpected token
// 2)       
function = 5     // Uncaught SyntaxError: Unexpected token =

ReferenceError私の理解:これは存在しない例:console.log(sb)
// ReferenceError:    (        )
// 1)          
a()       // Uncaught ReferenceError: a is not defined
console.log(b)     // Uncaught ReferenceError: b is not defined
// 2)              
console.log("abc") = 1   // Uncaught ReferenceError: Invalid left-hand side in assignment

TypeError私の理解:でたらめな呼び出し例:var a;a() ;//誰がaが関数だと言った?
// TypeError:     (        )
//                  。    new   、                           ,  new              。
// 1)         
123()        // Uncaught TypeError: 123 is not a function
var o = {}
o.run()        // Uncaught TypeError: o.run is not a function
// 2) new         
var p = new 456      // Uncaught TypeError: 456 is not a constructor

RangeError
// RangeError:     (     )
//         ,          ,   Number           ,           。
// 1)        
[].length = -5      // Uncaught RangeError: Invalid array length
// 2) Number           
var num = new Number(12.34)
console.log(num.toFixed(-1))   // Uncaught RangeError: toFixed() digits argument must be between 0 and 20 at Number.toFixed
//   : toFixed                       ,          ,   0-20.

EvalError
// EvalError:      eval()
//  ES5   JavaScript , eval()          ,   evalError  。       :
var myEval = eval;
myEval("alert('call eval')");
//       :ES5   JavaScript          ,       new               。         ,     Error  ,      。         ,           。
new Error([message[fileName[lineNumber]]])
//              ,       ,      。

URIError
// URIError: URI   
//              。
decodeURI("%")     // Uncaught URIError: URI malformed at decodeURI
// jzz