-
typeof演算:オペレータのデータ型を検出するため。
データ型は6種(「数値」、「文字列」、「bolean」、「未定義」、「機能」、「オブジェクト」)を戻すことができます。JSでは、ヌル値がtypeofを検出することにより、ヌル「オブジェクト」を返し、NULLオブジェクトポインタを示しています。
-
instanceofの:クラスの特定のインスタンスかどうかを検出します。
真に検出されるプロトタイプチェーンの現在のインスタンス、限りオブジェクト。プロトタイプのクラスの継承では、最終的な結果は、正しく検出されないことがあります。
-
コンストラクタ:属性は、プロトタイプの関数であり、プロパティ自体は、コンストラクタを指します。
instanceofは非常によく似instsnceof効果が異なっていると、参照データ型を扱うことができ、元のデータ・タイプを処理するだけではなく。クラスのプロトタイプを書き換える場合は、コンストラクタはカバーを与える可能性がある前に書き換える処理では、この検出結果は不正確です。
-
Object.prototype.toString.call():オブジェクトのプロトタイプチェーン上のtoStringオブジェクト方法。
console.log(Object.prototype.toString.call(1))。 // [オブジェクト番号] はconsole.log(Object.prototype.toString.call(/ ^ SF /)); // [オブジェクト正規表現] にconsole.log(Object.prototype.toString.call( "ハロー"))。 // [オブジェクトの文字列] はconsole.log(Object.prototype.toString.call(真))。 // [オブジェクトブール] はconsole.log(Object.prototype.toString.call(NULL))。 // [オブジェクトのNull] にconsole.log(Object.prototype.toString.call)(未定義)。 // [オブジェクト未定義] にconsole.log(Object.prototype.toString.call(関数(){}))。 // [目的関数] にconsole.log(typeof演算(Object.prototype.toString.call(関数(){})))。 // 文字列