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コンテナ内のホストのホスト名が取得できない問題の解決方法
目次質問1件2つの方法3 実験結果と考察質問1件ご存知のとおり、 Pycharm 、 IDLE 、 ...
背景色の点滅効果を実現するには、次のコードを <body> 領域に追加するだけです。コー...
目次1. Vueの概要Vue公式サイトMVVM アーキテクチャ パターンVue の紹介2. Vueを...
背景Navicat は、最高の MySQL 視覚化ツールです。ただし、ビューのインポートとエクスポー...
さまざまなソースからデータを集約することで、中央倉庫を作成できます。データ ウェアハウスは、ビジネス...
目次1. IDEAはdockerプラグインをダウンロードします2. クラウドサーバーDocker 2...
目次運河マクスウェルデータバスAlibaba Cloud のデータ転送サービス (DTS)運河ポジシ...
Yahoo チームが書いた、ウェブサイトのパフォーマンス最適化に関する記事を読みました。この記事は...
昨晩、面接の質問を見ていたら、CSS スタイルの優先順位について特に明確に説明していない人が何人かい...
数学、物理学、および一部の科学技術分野で使用される特殊記号は多数あります。Unicode コードには...
目次1. 存在する1.1 説明1.2 例1.3 交差/2017-07-21 2. 除く2.1 説明2...
Q: Outlook または IE のどちらを使用している場合でも、マウスを右クリックすると、ポッ...
目次前の単語同期と非同期前菜プレートを追加マクロタスク マイクロタスク約束しましょうタイマーを追加す...
HTML 構造は次のとおりです。 CCS 構造は次のとおりです。 ページ効果図は次のとおりです。 こ...
ユーザー テーブルを設計するときに、各人の ID 番号が一意であり、検索する必要があるシナリオを想像...