検索

ホームページ  >  に質問  >  本文

newtoy.constructor === Gadget の結果がコンソール false になるのはなぜですか?

リーリー

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

怪我咯怪我咯2712日前896

全員に返信(2)返信します

  • 欧阳克

    欧阳克2017-06-26 10:59:07

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

    返事
    0
  • typecho

    typecho2017-06-26 10:59:07

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

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

    リーリー

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

    リーリー

    返事
    0
  • キャンセル返事