この解答例はChatGPTによって生成されています,正しいかは自己判断で。

BFE.devでのAI解答例 - フロントエンド面接質問
16. `instanceOf` はどう動く? `typeOf`との違いは?

instanceOfは、オブジェクトが特定のクラス、コンストラクタ関数、またはそのプロトタイプチェーン上にあるクラスのインスタンスであるかどうかを判断する演算子です。

例えば、次のようなコードを考えます。

class Person {}
const person = new Person();

console.log(person instanceof Person); // true

この場合、personオブジェクトはPersonクラスのインスタンスであり、instanceOf演算子を使用することでそれを判断することができます。

一方、 typeof演算子は、渡された値のデータタイプを文字列で返します。これはJavaScriptのプリミティブデータ型(数字、文字列、ブール値、null、undefined、Symbol)には役立ちますが、オブジェクトと配列のような複雑なデータ型にはあまり適していません。

例えば、次のようになります。

console.log(typeof person); // object

これにより、personオブジェクトがオブジェクトデータタイプであることが分かりますが、それ以上の情報は提供されません。

要約すると、instanceOfはオブジェクトが特定のクラス、コンストラクタ関数、またはそのプロトタイプチェーン上にあるクラスのインスタンスであるかを判断し、typeofは単にデータタイプを文字列で返します。