1. instanceofの使用法
関数 Person() {} 関数 Person2() {} Person を新規作成します。 console.log(usr instanceof Person); // true console.log(usr instanceof Object); // true console.log(usr instanceof Person2); // false 上記のコードに示すように、2 つのコンストラクター もちろん、結果は、 2. instanceofの実装
関数 myInstanceof(obj, コンストラクター) { // obj の暗黙的なプロトタイプ let implicitPrototype = obj?.__proto__; // コンストラクターのプロトタイプ const displayPrototype =constructor.prototype; // プロトタイプチェーンを走査します while (implicitPrototype) { // 見つかったので true を返す if (implicitPrototype === displayPrototype) が true を返します。 暗黙のPrototype = 暗黙のPrototype.__proto__; } // トラバーサルは終了しましたが、まだ見つかっていない場合は false を返します false を返します。 }
まず、インスタンス オブジェクトの暗黙的なプロトタイプ (コンストラクター関数 次に、前のレベルの暗黙的なプロトタイプを取得し続けることができます。 暗黙のPrototype = 暗黙のPrototype.__proto__; プロトタイプ チェーンをトラバースするには、
3. 検証
関数 Person() {} 関数 Person2() {} Person を新規作成します。 関数 myInstanceof(obj, コンストラクター) { 暗黙のPrototypeをobj?.__proto__とします。 const displayPrototype = コンストラクター.prototype; (暗黙のプロトタイプ) の間 { if (implicitPrototype === displayPrototype) が true を返します。 暗黙のPrototype = 暗黙のPrototype.__proto__; } false を返します。 } myInstanceof(usr, Person); // 真 myInstanceof(usr, Object); // 真 myInstanceof(usr, Person2); // 偽 myInstanceof(usr, Function); // 偽 myInstanceof(usr.__proto__, Person); // 偽 usr.__proto__ instanceof Person; // false ご覧のとおり、 興味深いことに、 一般的な手書きの JavaScript コード: 「GitHub — code-js」 JavaScript で手動で instanceof を実装する方法についての記事はこれで終わりです。JavaScript の instanceof に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Dockerコンテナ内のホストのホスト名が取得できない問題の解決方法
この記事の例では、ドロップダウンリスト選択ボックスを実装するためのJavaScriptの具体的なコー...
7 のMicrosoft の公式 Web サイトから HTTP Rewrite モジュールをダウンロ...
まずはコードと効果を見てみましょう↓ <スタイル> 。主要 { アウトライン: 1px ...
序文以前フロントエンドを勉強していたとき、メタタグに対する私の理解はこの一文だけでした。 <メ...
目次1. ルータビュー2. ルータリンク3. リダイレクト4. ルーティングエイリアス5. ルーティ...
序文InnoDB はデータをテーブルスペースに保存します。デフォルト設定では、初期サイズが 10 M...
目次背景DHCPの設定DHCP ファイル (動的ホスト構成プロトコル) の編集tftp 設定sysl...
viteを使用してvue3プロジェクトを構築するターミナルで次のコマンドを実行すると、Vite を使...
<br />かつて、仏印と東坡氏が仏教について雑談していたとき、東坡氏が突然こう言った。...
目次ブートオプションコマンドラインパラメータの長い形式と短い形式設定ファイル構成グループシステム変数...
目次1. 解析する1.1 傍受のルール1.2 傍受プロセス部分1.3 パーサーの概要2. 最適化する...
この記事では、MySQL テーブル データのインポートおよびエクスポート操作について説明します。ご参...
目次序文1. 文字列を分割する2. JSONのフォーマットと解析3. 複数行の文字列と埋め込み式4....
Linux の操作と構成作業では、デュアル ネットワーク カードのバインディングがよく使用されます。...
docker run後、ステータスは常にExitedになります解決:パラメータを追加: -it do...