この解答例はChatGPTによって生成されています,正しいかは自己判断で。
BFE.devでのAI解答例 - JavaScript コーディング問題
90. `instanceof`を実装する
以下は、myInstanceOf()
の実装例です:
function myInstanceOf(obj, constructor) {
while (obj !== null) {
if (obj.__proto__ === constructor.prototype) {
return true;
}
obj = obj.__proto__;
}
return false;
}
この実装は、obj
がconstructor
のインスタンスであるかどうかを確認します。__proto__
プロパティをたどって、obj
のプロトタイプとconstructor.prototype
を比較します。もし一致したら、obj
はconstructor
のインスタンスであると判断し、true
を返します。一致しなかった場合、obj
のプロトタイプをたどって再度比較します。obj
のプロトタイプがnull
になるまで繰り返します。もし最後まで一致しなければ、false
を返します。