newtoy.constructor === Gadget の結果がコンソール false になるのはなぜですか?
怪我咯
怪我咯 2017-06-26 10:57:07
0
2
894
リーリー

上記の例は、書籍「オブジェクト指向プログラミング ガイド」から抜粋したものです

怪我咯
怪我咯

走同样的路,发现不同的人生

全員に返信(2)
学霸

コードが正しく記述されている場合は、ガジェットのプロトタイプ オブジェクトを書き換えており、書き換えたプロトタイプ オブジェクトにはコンストラクター属性がないため、 false になります。「JavaScript 高度なプログラミング」プロトタイプ入門の第 6 章を参照してください。

いいねを押す +0
typecho

上の階の正解は、Gadget.prototype が書き換えられています。プロトタイプ オブジェクトには、コンストラクター自体を指す暗黙的なコンストラクターがあるためです。以下の通り:

プロトタイプの展開は次の形式で記述するのが最適です:

リーリー

または、Object.assign() を使用してオブジェクトをマージします:

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート