js コードを作成する際のエラーは、js を始めたばかりの初心者にとって、js のエラーを見つけるのに時間がかかり、精神的に混乱することがあります。この記事を一緒に見ていきましょう
よくあるjsエラーの種類
(1) SyntaxError
SyntaxErrorはコード解析時に発生する構文エラーです
//変数名エラー
// 括弧がありません
console.log 'hello');
(2) ReferenceError
ReferenceErrorは、存在しない変数を参照したときに発生するエラーです。
unknownVariable
// ReferenceError:unknownVariable が定義されていません
もう 1 つのトリガー シナリオは、関数や this の結果を割り当てるなど、代入できないオブジェクトに値を代入することです。
console.log() = 1
// ReferenceError: Invalid left-hand side in assign
this = 1
// ReferenceError: Invalid left-hand side in assign
上記のコードは関数コンソール用です.log 実行結果とこの割り当ての両方で ReferenceError が発生しました
(3) RangeError
RangeError は、値が有効な範囲を超えた場合に発生するエラーです。主な状況はいくつかあります。1 つは配列の長さが負の数であること、もう 1 つは Number オブジェクトのメソッド パラメーターが範囲外であり、関数スタックが最大値を超えていることです。
new Array(-1)
// RangeError: Invalid array length
(1234).toExponential(21)
// RangeError: toExponential() 引数は0から20の間でなければなりません
(4)TypeError
TypeError は、変数またはパラメーターが予期された型ではない場合に発生するエラーです。たとえば、文字列、ブール値、数値などのプリミティブ型に対して new コマンドを使用すると、新しいコマンドのパラメータはコンストラクターである必要があるため、このエラーがスローされます。
new 123
//TypeError:number is not a func
var obj = {}; obj.unknownMethod()
//TypeError:unknown is not a function
上記のコードの 2 番目のケースは、呼び出しますオブジェクトが存在しない場合は、TypeError がスローされます。
(5) URIError
URIError は、URI 関連関数のパラメーターが正しくない場合にスローされるエラーで、主に encodeURI()、decodeURI()、encodeURIComponent()、decodeURIComponent()、escape()、unescape() が関係します。関数。
decodeURI('%2')
// URIError: URI malformed
(6) EvalError
eval 関数が正しく実行されなかった場合、EvalError エラーがスローされます。このエラー タイプは ES5 では表示されなくなり、以前のコードとの互換性を確保するためにのみ残されています。
上記の 6 つの派生エラーは、元の Error オブジェクトとともに、すべてコンストラクターです。開発者はこれらを使用して、エラー オブジェクトのインスタンスを人為的に生成できます。
new Error("エラーが発生しました!");
new RangeError("エラーが発生しました、変数が有効な範囲外です!");
new TypeError("エラーが発生しました、変数の型が無効です!"); ;
上記のコードは新しいエラーを表しています。オブジェクトのインスタンスは基本的に手動でエラーをスローしています。ご覧のとおり、エラー オブジェクトのコンストラクターは、エラー メッセージを表すパラメーターを受け取ります。
関連する推奨事項:
ネイティブjsは移動可能なプロンプトdivボックスのソースコードを実装
PHP初心者とプログラマーに適したhtml/css/jsマニュアル
以上が一般的な JS エラーの種類の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。