【JavaScript】Errorタイプのオブジェクトかどうかを判定する
238 語
1 分
【JavaScript】Errorタイプのオブジェクトかどうかを判定する
はじまり

リサちゃん
ぐぐぐ・・・! Errorってどうやって判別するんだ・・・?

135ml
お、JavaScriptか。Error判定する方法、知りたい?

リサちゃん
知りたい知りたい! ヨロシク!
今回のソース
最終的にできたソースはこちらになります。
/** * @param {Error} error * @return {boolean} */function isErrorType(error){ const objectTypeInfo = Object.prototype.toString.call(error); if(objectTypeInfo.indexOf("Error") === -1){ return false; } return true;}Object.prototype.toString.call(error)を呼び出したときの返り値は、Errorオブジェクトだった場合、以下のように出力されます。
console.log(Object.prototype.toString.call(error));
// [object Error]そして、Object.prototype.toString.call(error).indexOf("Error")で、文字列の中に「Error」があれば、渡したオブジェクトはErrorタイプとなるわけです。
例えば、TypeErrorオブジェクトを渡すとtrueになります。
/** * @param {Error} error * @return {boolean} */function isErrorType(error){ const objectTypeInfo = Object.prototype.toString.call(error); if(objectTypeInfo.indexOf("Error") === -1){ return false; } return true;}
try{ throw new TypeError("testtesttest");}catch(error){ const actual = isErrorType(error); console.log(actual);}
// true単にTypeErrorと書いて渡しても、Errorオブジェクトにならないので、テストコードなどを書く時はその点を留意しましょう。
/** * @param {Error} error * @return {boolean} */function isErrorType(error){ const objectTypeInfo = Object.prototype.toString.call(error); if(objectTypeInfo.indexOf("Error") === -1){ return false; } return true;}
const actual = isErrorType(TypeError);console.log(actual);
// falseおしまい

リサちゃん
これでErrorかどうかを判定できるね〜
以上になります!
記事を共有
この記事が役に立ったなら、ぜひ他の人と共有してください!
【JavaScript】Errorタイプのオブジェクトかどうかを判定する
https://endorphinbath.com/posts/javascript-error-type-object/ 関連記事 スマート
1
【JavaScript】実行中の関数自身の関数名を取得する
Code 実行している関数やメソッド自身の名前を取得する方法を紹介します。この方法は、その関数名を取得する関数を別の関数から呼び出してもらわなければなりません。thisに関数をバインドする必要があるためです。その呼び出し方の種類を掲載しています。
2
【JavaScript】数値を0埋めされた文字列として加工する
Code JavaScriptで、IDなどを採番する時に0埋めした数値が欲しい時があります。その時に利用できるスニペットを紹介します。
3
【Node.js】Markdown内のimgタグの画像の大きさを変える
Code README.md内のimgタグで記載された画像のサイズを変更する処理を作成しました。沢山画像を貼っていると、いちいちサイズを変更するのが面倒ですが、この処理で一気に直してしまいましょう!
4
【P5.js】描画したものの比率が歪んでいるときに対処したこと
Code P5.jsを描画させた時に縦横の比率がおかしくなる現象が起きたので、その回収までの過程を記載します。
5
【GAS、JavaScript】月末や月またぎも考慮した日付の計算をする
Code JavaScriptで日付を扱う際に、月またぎを考慮した計算も入れなければならないことがあります。その場合にどのような関数で取れるかどうかを紹介します。結局はタイムスタンプを使う方法に帰着するもんですよね。
ランダム記事 ランダム