【JavaScript】Object.prototype.toString.callで判別できるオブジェクトの型のまとめ

Code

はじまり

リサちゃん
リサちゃん

JavaScriptでオブジェクトの型を判別したい・・・

135ml
135ml

じゃあ、Object.prototype.toString.call()を使ってみませんか。

リサちゃん
リサちゃん

どれどれ・・・

型の判別に使うメソッド

今回、型の判別に使うメソッドは、こちらです。

使用するメソッド

Object.prototype.toString.call()

例えば、以下のように使うと、以下のような返り値が取得できます。返り値は文字列で返ってきます。

使用例と返り値

let a = "test"
type_a = Object.prototype.toString.call(a)
console.log(type_a)

# [object String]

型のまとめ

以下が、型と例をまとめた表になります。

具体例
Booleantrue
String“test”、’hogehoge’
Number11、34.5
Array[“1”, 1]、[“ho”, “ge”]
Object{test: “abc”}, {test: 234}
Functionfunction objTestFunc(){return “test”;}
Nullnull
Undefined「let hoge;」だけして変数を入れなかった場合。
Setnew Set([1, 2])
SymbolSymbol(“test”)
Errornew TypeError()
BigInt2n ** 53n

これを使った型判別するための関数

このObject.prototype.toString.call()を利用した関数を作りましたので、よければ使ってみてください。例外処理でよく使っています。

/**
 * @param {any} obj
 * @param {string} type
 * @return {boolean}
 */
function isObjectType(obj, type){
  let objectTypeInfo = Object.prototype.toString.call(type);
  if(objectTypeInfo.indexOf("String") === -1){
    throw new TypeError("type must be String type.")
  }
  objectTypeInfo = Object.prototype.toString.call(obj);
  if(objectTypeInfo.indexOf(type) === -1){
    return false;
  }
  return true;
}

おしまい

135ml
135ml

まあ、これで判別してみてください。

リサちゃん
リサちゃん

あざっした!

以上になります!

コメント

タイトルとURLをコピーしました